gpt4 book ai didi

javascript - 如何在javascript中合并两个字典

转载 作者:行者123 更新时间:2023-11-29 10:34:20 25 4
gpt4 key购买 nike

我有两个对象数组:

数组 1:

var myArr1 = [];
myArr1["1"]={any:1,some:1};
myArr1["2"]={any:2,some:2};
myArr1["3"]={any:3,some:3};

数组 2:

var myArr2 = [];
myArr2["1"]={other:1};
myArr2["2"]={other:2};

我希望它们通过键合并到一个新的属性中,所以结果将是:

[
{any:1,some:1,myNewAttribute:{other:1}},
{any:2,some:2,myNewAttribute:{other:2}},
{any:3,some:3,myNewAttribute:{other:3}}
]

我试图用 lodash 的 _.merge() 来实现它,但我惨遭失败。 _.merge 仅在第一个数组之后添加第二个数组,但不匹配它们的键/id。

最佳答案

您可以将第二个数组映射到一个新属性并稍后合并。

使用 lodash

var data1 = [{ any: 1, some: 1 }, { any: 2, some: 2 }, { any: 3, some: 3 }],
data2 = [{ other: 1 }, { other: 2 }, { other: 3 }];

console.log(_.merge(data1, _.map(data2, x => ({ myNewAttribute: x }))));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>

使用 ES6,不使用 lodash

var data1 = [{ any: 1, some: 1 }, { any: 2, some: 2 }, { any: 3, some: 3 }],
data2 = [{ other: 1 }, { other: 2 }, { other: 3 }];

console.log(data1.map((a, i) => Object.assign({}, a, { myNewAttribute: data2[i] })));

关于javascript - 如何在javascript中合并两个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39271799/

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