Javascript 如何一次创建多个对象并将其推入阵列中
我想要这样的东西:Javascript 如何一次创建多个对象并将其推入阵列中,javascript,Javascript,我想要这样的东西: [{ age: 3, area: 5 }, { age: 4, area: 15 }, { age: 19, area: 3 }, { age: 16, area: 11 }, { age: 20, area: 4 }, { age: 6, area: 9 }] 方法是每次创建新对象并将其推送到数组中 function Numstuff(age,area) { this.age = age, this.
[{ age: 3, area: 5 },
{ age: 4, area: 15 },
{ age: 19, area: 3 },
{ age: 16, area: 11 },
{ age: 20, area: 4 },
{ age: 6, area: 9 }]
方法是每次创建新对象并将其推送到数组中
function Numstuff(age,area) {
this.age = age,
this.area = area
}
var numObjArray = []
var createObj = new Numstuff (Math.floor(Math.random() * 20),
Math.floor(Math.random() * 20))
numObjArray.push(createObj)
但这只推了一个。如何创建多个对象并将其推入阵列?如何:
var数组=[];
var obj={};
对于(var i=0;i这个呢:
var数组=[];
var obj={};
对于(var i=0;i,您可以通过传递一个函数直接用对象创建一个数组,并用对象填充该数组:
功能Numstuff(年龄、面积){
这个年龄,
这个面积
}
//做10个Numstuff
常数num=10
设arr=Array.from({length:num},()=>newnumstuff(Math.floor(Math.random()*20),Math.floor(Math.random()*20)))
console.log(arr)
您可以直接使用对象创建数组,并通过传递函数将其填充:
功能Numstuff(年龄、面积){
这个年龄,
这个面积
}
//做10个Numstuff
常数num=10
设arr=Array.from({length:num},()=>newnumstuff(Math.floor(Math.random()*20),Math.floor(Math.random()*20)))
console.log(arr)
可能带有for循环。使用您自己的代码:
for (var i = 0; i < 9; i++) {
var createObj = new Numstuff (Math.floor(Math.random() * 20),
Math.floor(Math.random() * 20))
numObjArray.push(createObj)
}
for(变量i=0;i<9;i++){
var createObj=newnumstuff(Math.floor(Math.random()*20),
Math.floor(Math.random()*20))
numObjArray.push(createObj)
}
可能带有for循环。使用您自己的代码:
for (var i = 0; i < 9; i++) {
var createObj = new Numstuff (Math.floor(Math.random() * 20),
Math.floor(Math.random() * 20))
numObjArray.push(createObj)
}
for(变量i=0;i<9;i++){
var createObj=newnumstuff(Math.floor(Math.random()*20),
Math.floor(Math.random()*20))
numObjArray.push(createObj)
}
如果您确定如果不希望将新对象添加到数组中,就永远不会使用NumStuff
构造函数,则可以将numbojarray.push(此)
在构造函数的末尾。或者,如果所有值都以相同的方式生成,则只需使用循环。如果您确定在不希望将新对象添加到数组中的情况下永远不会使用NumStuff
构造函数,则可以将numbojarray.push(此)
在构造函数的末尾。或者,如果所有值都以相同的方式生成,只需使用一个循环。为什么要创建所有额外的空对象?@MarkMeyer你说的是obj
?是的,让obj={age:i,area:Math.random()}
在循环中就足够了。你不需要另一个obj={}
你为什么要创建所有多余的空对象?@MarkMeyer你说的是obj
?是的,让obj={age:i,area:Math.random()}
在循环中就足够了。你不需要另一个obj={}