JavaScript创建对象合并数组和Dict



我有一个引用dict:

a = [
{ name: 'a'},
{ name: 'b'},
{ name: 'c'}
];

以及被称为(通过API作为响应接收的(的第二阵列

data = [10,20,30]

我想把Dict和数组连接在一起,做一些类似的东西:

输出:

[{
'a': 10,
'b': 20,
'c':30
}]

我尝试了foreach((,尽管是"data",并将索引传递给Dict"a",获得键并为新Dict执行push((,但foreach(((似乎提前退出了。

感谢任何指点。

尝试一下:

var initial = performance.now();
var a = [
{ name: 'a' },
{ name: 'b' },
{ name: 'c' }
];
var data = [10, 20, 30];
var finalObject = {};
a.forEach((item, index) => finalObject[item.name] = data[index]);
var result = [finalObject];
console.log(result);
var final = performance.now();
console.log(`Time taken to run: ${final - initial}`);

您可以减少a,并利用回调中的索引创建合并对象:

var initial = performance.now();
var a = [
{name: 'a'},
{name: 'b'},
{name: 'c'}
];
var data = [10, 20, 30];
var output = [a.reduce((acc, x, i) => {
acc[x.name] = data[i]
return acc;
}, {})];
console.log(output);
var final = performance.now();
console.log(`Time taken to run: ${final-initial}`);

最新更新