在Array中为值创建动态名称

时间:2015-10-07 09:16:24

标签: javascript arrays

如何从数组中的值创建对象的动态名称?例如:

这是我的代码:

var data=[{"column":"1", "count":"1"},{"column":"2", "count":"2"},{"column":"3", "count":"3"}];
var data2=[{"column":"1", "count":"5"},{"column":"2", "count":"2"},{"column":"3", "count":"7"}];
var data3=[{"column":"1", "count":"9"},{"column":"2", "count":"6"},{"column":"3", "count":"1"}];

var obj=[];

for (i=0;i<data.length;++i)
    obj.push({date: data[i].column, count1: data[i].count});

for (i=0;i<data2.length;++i)
     obj[i].count2 = data[2].count;

for (i=0;i<data3.length;++i)
     obj[i].count3 = data3[i].count;

console.log(obj);

这是jsfiddle的链接:https://jsfiddle.net/r4tnewxg/

正如您在示例中看到的那样,是“count 1”等的一部分。您可以动态地进行操作吗?例如,for循环并利用'i'?然后名称将是“计数”+ i“结果:”count1“,”count2“等。

2 个答案:

答案 0 :(得分:3)

如果我理解正确,你可能会这样吗?

var obj = {};
...
obj["count"+i] = ...

答案 1 :(得分:2)

您只需使用concat功能

var obj=data.concat(data2,data3);