javascript - 尽管进行了检查,但无法读取未定义的属性

标签 javascript ecmascript-6

我觉得自己想哭几个小时。

为什么此代码会返回cannot read property overwrite_date' of undefined错误?!

for (var i = 0; i < temp.length; i++) {

  console.log(data[i]) //return 3 item, no null or undefined value at all

  if(data[i]){

    let date = moment(data[i].overwrite_date).format('YYYY-MM-DD');
  }
}

最佳答案

您正在迭代 temp 而不是 data

更改此:

for (var i = 0; i < temp.length; i++) {

对此:

for (var i = 0; i < data.length; i++) {
                     ▲

关于javascript - 尽管进行了检查,但无法读取未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43525898/

相关文章:

css - 在 NgStyle 中设置高度的 TypeScript 函数不起作用

javascript - 为什么这个数组不为空?

javascript - 从 Material UI 中的 TableRow 组件获取数据

javascript - 如何在 Handsontable 中格式化列标题?

在参数中调用时缺少 Javascript 斜杠

javascript - 使用 jQuery 的 .innerHTML 属性插入输入框

javascript - 使用 forEach js es2015 动态导入

javascript - 检查页面是否已完全加载并呈现

开始和结束之间的每个日期的javascript .addclass

javascript - 如何使用 Dojo 扩展 es6 类