【发布时间】:2023-07-13 01:58:01
【问题描述】:
我想合并 2 个具有相同键的对象,来自 2 个数组的值,如下所示:
var arr1 = [
{ a: "a", 1: 1, 2: 2 },
{ a: "b", 1: 1, 2: 3 }
];
var arr2 = [
{ a: "a", 3: 123 },
{ a: "b", 3: 4411 }
];
var arr3 = _.map(arr1, function(a1) {
var a3 = {};
_.map(arr2, function(a2) {
if (a1.a == a2.a) {
a3 = _.extend(a1, a2);
}
})
return a3
});
结果:
arr3 = [
{ '1': 1, '2': 2, '3': 123, a: 'a' },
{ '1': 1, '2': 3, '3': 4411, a: 'b' }
]
它看起来很愚蠢吗?还有其他方法可以做到这一点吗? 感谢阅读。
【问题讨论】:
-
您的解决方案是否有效?问题是什么?
-
它起作用了,但我认为还有一些其他更好的方法可以通过一些库来做到这一点。 (我还没有用大数组长度测试过)
-
发布问题时请更具体。例如,提及您使用的是哪个 JavaScript 库。它将帮助人们调查您使用的类似图书馆。
-
同一个键是什么意思?相同的索引或相同的键
a?
标签: javascript arrays node.js object lodash