无法读取数组中未定义的“数据”

问题描述 投票:-3回答:2

我正在尝试访问数组中的数据,但它不会显示它并发送错误:

Error

这是我的代码:

function formatErrorHtml(arrayToDisplay, error_name) {
  var stringFormat = "";
  for (var i = 0; i <= arrayToDisplay.length; i++) {
    // console.log(arrayToDisplay[i].data.error);
    var error = arrayToDisplay[i].data.error;
    if(error === error_name) {
      stringFormat += "Hello" + "<br />";
    }
  }
  return stringFormat;
}

这是console.log中显示的数组结构:Array structure

我想访问绿色矩形中的数据。

当我在console.log中显示arrayToDisplay[i].data.error时,它可以工作。但它并不适用于循环。

你可以在那里看到console.log的结果:Array displayed

如何正确访问数据? arrayToDisplay[i].data.error不正确吗?

任何想法都会受到赞赏,非常感谢。

javascript arrays multidimensional-array
2个回答
3
投票

尝试更改<=到<我相信最后一个查找dataToDisplay [9]


1
投票

Accessing array elements

JavaScript数组是零索引的:数组的第一个元素在索引0处,最后一个元素在索引处等于数组的length属性的值减1.使用无效的索引号返回undefined。

你的循环正在迭代数组中不存在的项(在最后一次迭代中):

改变i <= arrayToDisplay.length

在for循环中对i < arrayToDisplay.lengthi <= arrayToDisplay.length - 1

© www.soinside.com 2019 - 2024. All rights reserved.