【发布时间】:2018-02-26 16:02:41
【问题描述】:
我的代码产生以下错误:
未捕获的类型错误:无法设置未定义的属性“0”
注意: 此表是学生分配的工作时间表。
让我们继续我的代码:
function saveWorkSched(){
// listWorkSched
var arr=[];
var getSAWorkSched=[[],[]];
var wsCounter=0;
var wsCounter2=0;
var j = 0;
$("#listWorkSched td").each(function(){
arr.push($(this).text());
});
console.log(arr);
for(j;j<arr.length;j++){
if(wsCounter2<=2){
getSAWorkSched[wsCounter][wsCounter2]=arr[j];
wsCounter2++;
}else{
wsCounter++;
wsCounter2=0;
getSAWorkSched[wsCounter][wsCounter2]=arr[j];
wsCounter2++;
}
}
}
第一阶段:
用户创建工作计划后,这将存储在arr 变量中。
第二阶段:
arr 值将转换为多维数组并存储在getSAWorkSched 变量中
在第三次循环之后会发生错误。这意味着每次我创建超过 2 个工作计划时都会触发错误。
else{
wsCounter++;
wsCounter2=0;
getSAWorkSched[wsCounter][wsCounter2]=arr[j]; // Here's the code where the error specified based on the console of my browser
wsCounter2++;
}
【问题讨论】:
-
定义“不起作用”。您遇到的具体问题是什么?
-
第三次循环后,在浏览器的控制台上弹出此错误:
Uncaught TypeError: Cannot set property '0' of undefined,这是浏览器指定的代码:getSAWorkSched[wsCounter][wsCounter2]=arr[j];在else部分.. 只是想让你知道当表格只有 2 行时它会起作用...但是当有 3 行及以上时会弹出错误
标签: javascript