Javascript对象数组允许第0个索引但不允许其他索引

时间:2018-01-02 01:33:54

标签: javascript arrays object

我创建了一个对象数组,如:

var data_list = [{}];
var data =[{
    items: []
}];



for(var i=0;i<dataToGrid.length; i++) {
  var temp = dataToGrid[i].toString();
    if(temp.indexOf('pfsync0') == -1) {
    if (temp.indexOf('in') == -1) {
        data_list[i] = {
        col1: dataToGrid[i][index1], col2: dataToGrid[i][index2]
    };
    data[1].items.push(data_list[i]);
    }
  }
}

当我推送元素时,它对第0个索引没有问题,但是它导致问题为1,例如

data[0].items.push(data_list[i]) is okay but data[1].items.push(data_list[i]) is not okay.

TypeError:无法读取未定义的属性“项目”

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

var data =[{
    items: []
}];

您无法访问undefined

上的媒体资源

您的数组data不包含0th元素旁边的任何元素

data[1]未定义

因此data[1].anything会引发错误TypeError: Cannot read property 'anything' of undefined