var array = ["History"]
...
for (var i = 0; i<div.length; i++){
var array2 = {
"name": div[i].value
};
}
array.push(array2);
我需要创建数组的根,如下所示
"History":{
0:{
name: "some text"
},
1:{
name: "some text 2"
}
}
但是结果是,没有父历史记录,如下所示。如上图所示,我如何创建子历史记录并将其添加到子项中?
0: "History",
1: {
name: "some text"
},
2: {
name: "some text 2"
}
最佳答案
简单的ES6示例。
const tag = 'History';
const obj = {[tag]: {}};
const res = ['ex1', 'ex2', 'ex3'].reduce((acc, x, i) => {acc[tag][i] = x; return acc;}, obj);
console.log(res); // { "History": { 0: "ex1", 1: "ex2", 2: "ex3" } }
旧的浏览器支持。
var tag = 'History';
var obj = {History: {}};
var res = ['ex1', 'ex2', 'ex3'].reduce(function(acc, x, i){ acc[tag][i] = x; return acc; }, obj);
console.log(res); // Same output as above