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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法读取数组中未定义的“数据”相关的知识,希望对你有一定的参考价值。

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

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不正确吗?

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

答案

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

另一答案

Accessing array elements

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

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

改变i <= arrayToDisplay.length

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

以上是关于无法读取数组中未定义的“数据”的主要内容,如果未能解决你的问题,请参考以下文章

对象数组:无法读取 onchange 事件中未定义的属性“id”

getSupportFragmentManager() 在活动扩展片段中未定义

TypeError:无法读取MERN中未定义的属性“发送”

TypeError:无法读取reactjs中未定义的属性“长度”

无法读取剑道网格中未定义的属性“最近”

无法读取角度数据表中未定义的属性“aDataSort”