我有一个空对象和数组:
var aux = {};
var header = []
我还有一个名单,我想用它来填充标题
var listOfNames = ["1", "2", "3"];
所以我想做的就是用它填充标题(我只是发布一个非常简单的代码,这就是为什么我有2个循环,当它不需要但我需要以这种方式检查它)
for (var i = 0; i < 1; i++) {
for (var j = 0; j < 3; j++) {
var attribute = listOfNames[j];
aux["Test"] = attribute;
objectHeader.push(aux);
}
console.log(objectHeader);
}
我的想法,或者我正在做的事情,是创建一个length = 1
数组,如下所示:
[{Test: 0}, {Test: 1}, {Test: 2}]
但我得到的是:
[{Test: 2}, {Test: 2}, {Test: 2}]
知道为什么吗?
答案 0 :(得分:0)
使用数组方法map。
map()方法创建一个新数组,其中包含调用a的结果 为调用数组中的每个元素提供了函数。
示例:[1, 2, 3].map(function(x) {return x*x})
创建一个新数组[1, 4, 9]
在你的情况下:
objectHeader = listOfNames.map(function(name){return {"Test":name}});