我有一个引用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}`);