最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Merging 2 arrays based on one common key angular 2 - Stack Overflow

programmeradmin0浏览0评论

I have 2 arrays in Angular 2 and I want to merge them based on one key value.

Array 1 :

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

Array 2 :

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

And so I want final result as

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

I have 2 arrays in Angular 2 and I want to merge them based on one key value.

Array 1 :

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

Array 2 :

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

And so I want final result as

[{"columnId":1,"field":"field 1","type":"value 1"},{"columnId":2,"field":"field 2","type":"value 2"}]
Share Improve this question edited Jan 18, 2017 at 10:07 eko 40.7k11 gold badges78 silver badges101 bronze badges asked Jan 18, 2017 at 10:06 Jeeten ParmarJeeten Parmar 5,78715 gold badges64 silver badges111 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

This should do what you want:

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"}]
发布评论

评论列表(0)

  1. 暂无评论