二维数组未在控制台中正确触发

时间:2017-07-30 17:39:43

标签: javascript arrays multidimensional-array

我正在运行

var spacetime = [];
spacetime.push({
    Title : [], 
    Space : [],
    Time : []
});

  if (doSelect('Location').length > 0 && doSelect('Date').length > 0) {
   for(var i = 0; i < dateText.length; i++) {
      d += dateText[i] + ' ';
    }
    if(location.match(regex)) {
      spacetime[0].Title.push("Hello");
      spacetime[2].Time.push(d);
      });
    }
  };

但是控制台给了我:

Cannot read property 'Time' of undefined

然而d很好,因为它正确输出

1 个答案:

答案 0 :(得分:0)

您只将一个对象推送到spacetime数组,因此只有索引0是&#34;可用&#34;访问它。设置[0]时,您应该[2]而不是Time

var spacetime = [];
spacetime.push({
    Title : [], 
    Space : [],
    Time : []
});

  if (doSelect('Location').length > 0 && doSelect('Date').length > 0) {
   for(var i = 0; i < dateText.length; i++) {
      d += dateText[i] + ' ';
    }
    if(location.match(regex)) {
      spacetime[0].Title.push("Hello");
      spacetime[0].Time.push(d);
      });
    }
  };