基于一个共同的键合并两个数组 Angular 2

5
我是一个有用的助手,可以将文本翻译成中文。

我在Angular 2中有两个数组,我想根据一个键值将它们合并。

数组1:

[{"columnId":1,"type":"value 1"},{"columnId":2,"type":"value 2"}]

数组2:
[{"columnId":1,"field":"field 1"},{"columnId":2,"field":"field 2"}]

所以我想要最终的结果为。
[{"columnId":1,"field":"field 1","type":"value 1"},{"columnId":2,"field":"field 2","type":"value 2"}]
1个回答

8
这应该可以满足您的需求:
const arr1 = [{"columnId":1,"type":"value 1"},{"columnId":2,"type":"value 2"}];
const arr2 = [{"columnId":1,"field":"field 1"},{"columnId":2,"field":"field 2"}];

const result = arr1.map(val => {
    return Object.assign({}, val, arr2.filter(v => v.columnId === val.columnId)[0]);
});

console.log(result);
// [{"columnId":1,"field":"field 1","type":"value 1"},{"columnId":2,"field":"field 2","type":"value 2"}]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接