javascript - 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。
我忽略了什么我无法访问数组的元素?
解决方案
该变量在您的函数内codesList
声明(使用var
关键字),这意味着它具有本地范围。
当您在控制台中进行检查时,您可能尝试全局访问它,它位于undefined
.
在函数外部声明变量,可能在代码的顶部,以便可以从代码的每个部分和控制台访问它。
推荐阅读
- angular - 如何有条件地为 ngx-datatable 的单元格着色
- conv-neural-network - CNN 只有 2 个 ConvLayer 时的批量归一化?
- mongodb - MongoDB - 是否可以通过 _id 字段比较文档?
- css - 使用 @extend 时,Sass 将所有选择器应用于样式块
- angular - 如何从日期数组中禁用 Angular Material Datepicker 日期?
- ios - UITextView 不会更改 textColor 属性
- javascript - 拉刷新不更新列表
- c++ - 添加这些字符串有什么区别?
- java - 给定 xml 文件,如何在 Java webapp 中实现 SAML 协议
- javascript - 使用空手道脚本中的 ECDSA 算法调用 SHA256