我有一个空的对象和数组:
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}]
任何想法为什么?
使用数组方法映射。
map((方法创建一个新数组,并带有调用的结果 在调用数组中的每个元素上提供了功能。
示例:[1, 2, 3].map(function(x) {return x*x})
创建一个新数组[1, 4, 9]
在您的情况下:
objectHeader = listOfNames.map(function(name){return {"Test":name}});