gpt4 book ai didi

JavaScript 操作数组对象合并

转载 作者:行者123 更新时间:2023-11-29 20:53:52 30 4
gpt4 key购买 nike

我有两个数组,现在我想合并这两个数组。

第一个数组:

var data = [
{ name: 'aa', value: 1 },
{ name: 'bb', value: 2 },
{ name: 'cc', value: 3 }
];

两个数组:

var data2 = [
{ name: 'aa' },
{ name: 'bb' },
{ name: 'cc' },
{ name: 'dd' },
{ name: 'ee' }
];

我想把它们合并成这个:

var data3 = [
{name: 'aa', value: 1},
{name: 'bb', value: 2},
{name: 'cc', value: 3},
{name: 'dd', value: 0},
{name: 'ee', value: 0}
];

console.log(data3)

目前我的经验还不够。请帮我解决这个问题。

提前致谢。

最佳答案

您可以根据以下假设尝试以下操作

  1. data2 是一个 names 的集合,它的长度总是大于 data
  2. 的长度
  3. 对象的顺序可以不同

var data = [
{ name: 'aa', value: 1 },
{ name: 'bb', value: 2 },
{ name: 'cc', value: 3 }
];

var data2 = [
{ name: 'aa' },
{ name: 'bb' },
{ name: 'cc' },
{ name: 'dd' },
{ name: 'ee' }
];

// Iterate over the names array
var data3 = data2.map(({name}) => {
// get the matched object in data corresponding to the name
var match = data.find((obj) => obj.name === name);
// if found, return value else default value to 0
return match ? match : {name, value : 0};
});

console.log(data3);

关于JavaScript 操作数组对象合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50362864/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com