如何生成包含50个指定结构元素的对象数组?
解决方法:生成指定结构的对象数组
嘿,我明白你要做什么啦!你现在的问题是代码里把单个字符串(比如"id0")直接push进数组了,而不是创建一个包含id、Email、Name三个属性的完整对象再添加,所以才达不到预期的结构。
正确的基础写法
我们需要在每次循环里先创建符合要求的对象,再把整个对象push到数组中,同时注意循环的终止条件(要50个对象的话,id从0到49,所以循环次数是50次):
var arrayofobject = []; // 循环50次,i从0到49 for(var i = 0; i < 50; i++){ // 创建一个包含三个属性的对象 const newObj = { id: i, Email: `Empty Email ${i}`, Name: `Empty Name ${i}` }; // 将对象添加到数组 arrayofobject.push(newObj); }
更简洁的ES6写法
如果习惯ES6语法,用Array.from可以一行搞定,代码更简洁:
const arrayofobject = Array.from({ length: 50 }, (_, index) => ({ id: index, Email: `Empty Email ${index}`, Name: `Empty Name ${index}` }));
这里Array.from的第一个参数指定数组长度为50,第二个回调函数负责生成每个位置的对象,index就是我们需要的id值。
注意点
之前你写的i <= 50会生成51个对象(id从0到50),如果只需要50个的话,记得用i < 50或者i <= 49哦~
内容的提问来源于stack exchange,提问作者Josh Miller
相关产品推荐
相关产品推荐

