首页 > 解决方案 > JS - 数组项不可用

问题描述

我正在 JS 中创建一个简单的数组 - 它看起来像这样(简化):

api.call("GetList", {
...
}, function (codesResults) {
  var codesList = [];
  for (var i = 0; i < fetchedData.length; i++) {
    ...
    codesList.push(res[0].codeNumber);
    ...
  }
});

尝试调试数组时:

console.log('codesList:', codesList);

在此处输入图像描述

当我尝试console.log(codesList.length);-> 0

当我尝试console.log(codesList[0]);-> undefined

我忽略了什么我无法访问数组的元素?

标签: javascriptarrays

解决方案


该变量在您的函数内codesList声明(使用var关键字),这意味着它具有本地范围。

当您在控制台中进行检查时,您可能尝试全局访问它,它位于undefined.

在函数外部声明变量,可能在代码的顶部,以便可以从代码的每个部分和控制台访问它。


推荐阅读