Javascript 无法读取未定义的属性,尽管正在检查

Javascript 无法读取未定义的属性,尽管正在检查,javascript,ecmascript-6,Javascript,Ecmascript 6,我想哭了好几个小时 为什么此代码返回错误无法读取未定义的属性overwrite_date' 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');

我想哭了好几个小时

为什么此代码返回错误
无法读取未定义的属性overwrite_date'

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');
  }
}
for(变量i=0;i
您正在迭代
temp
而不是
数据

更改此项:

for (var i = 0; i < temp.length; i++) {
for(变量i=0;i
为此:

for (var i = 0; i < data.length; i++) {
                     ▲
for(变量i=0;i
您正在迭代
temp
而不是
数据

更改此项:

for (var i = 0; i < temp.length; i++) {
for(变量i=0;i
为此:

for (var i = 0; i < data.length; i++) {
                     ▲
for(变量i=0;i
你能给我们看一下你的
数据吗?
temp
data
可能有不同的长度。你能给我们看一下你的
数据吗?
temp
数据
可能有不同的长度。这没什么错,我想迭代temp,然后用数据拼接temp。@GialaJefferson:嗯,有些事情是错的,否则你就不会得到错误。错误似乎表明
temp
data
具有不同的长度,或者
data
没有数字属性。由于你的示例不完整,除了猜测之外,我们没有什么可以做的。这没有错,我想迭代temp并执行sp使用数据的临时许可证。@GialaJefferson:嗯,有些地方出了问题,否则你不会得到错误。错误似乎表明
temp
data
有不同的长度,或者
data
没有数字属性。由于你的示例不完整,我们除了猜测之外没有什么可以做的。