通过程序将对象分配给数组
programaticly assign objects to an array
我有一个要向其中添加对象的数组。我想用数字控制添加到数组中的对象数量。
for (var i = 0; i < numberOfCountries; i++) {
chartArray[i] = obj[i];
}
我正试图得到这个:
chartArray[0] = obj0;
chartArray[1] = obj1;
chartArray[2] = obj2;
chartArray[3] = obj3;
chartArray[4] = obj4;
chartArray[5] = obj5;
假设obj
变量在窗口范围内可用:
for (var i=0; i<numberOfCountries; i++) {
chartArray[i] = window["obj"+i];
}
你可能想要这个吗?
for (var i=0; i<numberOfCountries; i++) {
chartArray.push(this["obj"+i]);
}
假设for循环的索引为0:
你有这个代码:
chartArray[0] = obj[0];
在这段代码中,您尝试将索引为0的名为"obj"的数组的elemento推送到索引0中的chartArray。
要执行所需操作,必须通过在单词"obj"中添加一个序号来解析对象的名称,这样才能使用eval()。
尝试:
for (var i = 0; i < numberOfCountries; i++) {
//for debug uncomment nexr line
//console.log("name:","obj"+i,"eval:",eval("obj"+i));
if(typeof eval("obj"+i) !== "undefined") return chartArray.push(eval("obj"+i));
}
如果没有定义名为"obj"+i的对象,则循环继续到下一个"Country"whituut添加到您的数组中。
再见。
我真的觉得你问错了问题(请参阅https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。您引用的对象应该位于数组中的第一位
您可以这样做:
var char = new Array();
for (var i = 0; i < number; i++)
{
char.push(obj[i]);
}
相关文章:
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 在将csv文件中的数据分配给数组变量时增强了d3代码
- 当数组在angularjs中没有可比较的值时,如何分配默认值
- 使用mysql为JSON php数组分配多个列值
- 处理对象数组并将它们以 4 个为一组进行分配
- 可以't分配给一个对象数组javascript
- Javascript原型通用Enquries和通过数组索引分配Id
- 通过程序将对象分配给数组
- 将随机整数分配给数组中的项,summa应该是一个固定的数字
- JavaScript's数组过滤器函数在没有分配函数的情况下使用-这里发生了什么
- 选择多个复选框并将值分配给数组 - HTML/Javascript
- 如何在 ng-repeat 中按键分配对象数组
- JS循环图像文件夹,预加载它们并分配给数组
- Javascript:分配给对象或数组原型会导致括号不起作用
- Java 脚本数组分配错误
- jQuery将值分配给数组,给出错误未定义的变量
- 如何拆分数组或分配键,jquery
- Dojo 解析器分配值数组而不是值
- 分配给多维数组 javascript