【发布时间】:2017-01-17 10:47:23
【问题描述】:
我有一个包含相机规格的数组,当我尝试运行 for 循环来获取元素时会出现问题。
这是我的数组的内容:
我尝试了所有不同类型的 for 循环,例如 forEach、带增量的基本 for 循环或 for (let item of myArray)
For 循环没有运行,我没有返回数组中的元素。
for (let id in elements) {
if (typeof elements[id].brands !== 'undefined') {
delete this.items;
let itemsArray = [];
for (let elementData of elements[id].brands) {
this.http.get("assets/data/" + elementData + "Reflex.json").map(res => res.json()).subscribe(data => {
Array.prototype.push.apply(itemsArray, data);
});
}
this.items = itemsArray;
}
if (typeof elements[id].sensorSize !== 'undefined') {
}
}
(this.items 是你可以在顶部看到的数组(我使用 Angular2))。
【问题讨论】:
-
您可能通过 http 调用获得
this.items,并且在您的代码到达循环时它尚未定义。 -
你试过最基本的循环吗? for (let i=0; i
-
可以在运行for循环的地方添加代码吗?
-
你应该发布你的整个脚本,我认为问题不是来自 for 循环(或者我们都应该停止使用 JS 并继续罢工......),而是来自项目列表没有填充值。
-
您确实意识到
this.http.get是一个 http 调用,正如我在第一条评论中所说的那样,对吧?
标签: javascript arrays angular