Javascript 生成js对象名称并向其添加值
我生成两个随机数组,我需要将其中的数字添加到数组中,我需要用100个对象填充数组,将它们命名为从Javascript 生成js对象名称并向其添加值,javascript,arrays,algorithm,loops,for-loop,Javascript,Arrays,Algorithm,Loops,For Loop,我生成两个随机数组,我需要将其中的数字添加到数组中,我需要用100个对象填充数组,将它们命名为从n1到n100,并使它们看起来像这样: n1...n100 = {r: realArray[0...100], i: imagArray[0...100])} 当然,我可以像在它们很少的时候那样添加它们: var realArray = [], imagArray = []; for (var i=0, t=100; i<t; i++) { realArray.push(Ma
n1到n100
,并使它们看起来像这样:
n1...n100 = {r: realArray[0...100], i: imagArray[0...100])}
当然,我可以像在它们很少的时候那样添加它们:
var realArray = [],
imagArray = [];
for (var i=0, t=100; i<t; i++) {
realArray.push(Math.floor(Math.random() * t) - 50);
imagArray.push(Math.floor(Math.random() * t) - 50);
}
var pointsValues = [
n1 = {r: realArray[0], i: imagArray[0]},
n2 = {r: realArray[1], i: imagArray[1]},
n3 = {r: realArray[2], i: imagArray[2]},
n4 = {r: realArray[3], i: imagArray[3]},
n5 = {r: realArray[4], i: imagArray[4]},
n6 = {r: realArray[5], i: imagArray[5]},
n7 = {r: realArray[6], i: imagArray[6]},
n8 = {r: realArray[7], i: imagArray[7]},
n9 = {r: realArray[8], i: imagArray[8]},
n10 = {r: realArray[9], i: imagArray[9]},
n11 = {r: realArray[10], i: imagArray[10]},
n12 = {r: realArray[11], i: imagArray[11]},
//........................................,
//........................................,
//........................................,
n100 = {r: realArray[100], i: imagArray[100]},
];
var realArray=[],
imagArray=[];
对于(var i=0,t=100;i您可以使用PointValue作为对象,因此您可以在for循环上进行插入,如下所示:
var pointsValues = {}
for(var j = 0; j<100; j++){
var index = "n"+(j+1);
pointsValues[index] = {r: realArray[j], i: imagArray[j]};
}
var pointsValues={}
对于(var j=0;j使用var pointsValues=[…n1={r:realArray[0],i:imagArray[0]},
正在创建一个名为n1
的全局变量(至少,如果您不是在严格模式下)。我认为您需要的是一个简单的对象,因为数组索引只能是数字,而对象键通常是字符串。您可以使用已知的括号符号(foo['n1']
)访问对象的索引。因此,可能的解决方案如下:
var realArray=[],
imagArray=[];
对于(var i=0,t=100;i什么意思是n1
?它是一种索引?还是应该是一个对象的键?@NinaScholz它是一个对象的键到底是什么?数组还是对象?除了生成点值
?@NinaScholz对象之外,其他用途是否需要realArray
和imagArray
当向对象添加从n1到n100的键时,realArray[n]
和imagArray[n]
的ent索引是。但是,请在使用前通过var
关键字声明j
(或let
分别在较新的JavaScript中声明const
)@SVSchmidt噢,对不起,我看不到!谢谢你为什么有两个循环,而你可以用一个来做呢?@jordan运行第一个循环是从OP的初始代码中提取的。这就是我所说的“可能有更合适的解决方案”.除了创建对象,我们没有关于他将如何处理数组的信息。如果只是这样,我们也不需要创建数组。