首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用FOR循环将对象推送到数组

使用FOR循环将对象推送到数组
EN

Stack Overflow用户
提问于 2020-12-02 03:22:26
回答 1查看 45关注 0票数 0

我创建了一些想要推入数组的对象。我想知道,如果我通过FOR循环来推送,是否会减少代码的重用,而不是手动推送它们。然而,它并不起作用。

代码语言:javascript
代码运行次数:0
运行
复制
// Using a FOR to push objects into an array.

var object_list = [];
var car1 = {type:"Fiat", model:"500", color:"white"};
var car2 = {type:"Ford", model:"Focus", color:"red"};
var car3 = {type:"Nissan", model:"Micra", color:"Blue"};

//object_list.push(car1);    ..the manual way..
//object_list.push(car2);
//object_list.push(car3);

for (z = 1; z < 4; z++) {   // .. a better way.. or so I thought!..
        object_list.push('car'+z);
}

alert(object_list[2].type)  //undefined

谁能告诉我为什么FOR循环不起作用?或者有没有别的办法。

EN

回答 1

Stack Overflow用户

发布于 2020-12-02 03:30:31

您可以将变量包装在window['car1']中,它将创建动态变量名。这不是最优的解决方案,但它会实现你想要的。

最好的解决方案是创建一个大型数组。

代码语言:javascript
代码运行次数:0
运行
复制
// Using a FOR to push objects into an array.

var object_list = [];
var car1 = {type:"Fiat", model:"500", color:"white"};
var car2 = {type:"Ford", model:"Focus", color:"red"};
var car3 = {type:"Nissan", model:"Micra", color:"Blue"};

//object_list.push(car1);    ..the manual way..
//object_list.push(car2);
//object_list.push(car3);

for (z = 1; z < 4; z++) {   // .. a better way.. or so I thought!..
        object_list.push(window['car'+z]);
}

console.log(object_list[2].type)  //undefined

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65097123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档