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

I have 2 arrays in Angular 2 and I want to merge them based on one key value. Array 1 :[{"columnI

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"}]

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742416297a4439807.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信