【发布时间】:2020-12-19 15:14:18
【问题描述】:
我无法在二维数组中推送 Data[i] 通过 i = 0 的循环但不能通过 i = 1 它说“TypeError:无法读取未定义的属性'push'” Error pic
var dataS = [[]];
var Widget = ['',''];
var Data = ['1234','4321'];
for (var i=0; i<Data.length; i++){
console.log("Widget : "+Widget[i]);
console.log("i : "+i);
console.log("Data["+i+"] : "+Data[i]);
console.log("dataS[["+i+"]] : "+dataS[[i]]);
if (Widget[i] === ""){
dataS[i].push(Data[i]);
}
}
【问题讨论】:
-
dataS[i]未定义。您将不得不对其进行初始化。它将只有第一个元素开始。 -
dataS的长度是 1,而Data的长度是 2,所以当i是 1 时,dataS[i]是undefined并且你不能调用push()方法undefined。这就是错误信息所说的:Cannot read property 'push' of undefined
标签: javascript arrays