Javascript 将对象数组合并到与属性值匹配的数组中

Javascript 将对象数组合并到与属性值匹配的数组中,javascript,angular,typescript,Javascript,Angular,Typescript,我正试图通过一个键(id)将数组中的元素合并到现有数组中。有什么简单的方法可以做到这一点吗 例如: people = [{id: 1, name: 'John Doe'}, {id: 2, name: 'Jane Doe'}]; places = [{id: 1, state: 'CA'}, {id: 2, state: 'AK'}]; // expected output I want is result = [{id: 1, name: 'John Doe', places: {id: 1

我正试图通过一个键(id)将数组中的元素合并到现有数组中。有什么简单的方法可以做到这一点吗

例如:

people = [{id: 1, name: 'John Doe'}, {id: 2, name: 'Jane Doe'}];
places = [{id: 1, state: 'CA'}, {id: 2, state: 'AK'}];

// expected output I want is
result = [{id: 1, name: 'John Doe', places: {id: 1, state: 'CA'}}, {id: 2, name: 'Jane Doe', places: {id: 2, state: 'AK}'}}];

我如何才能将places属性id映射到people id中,从而基本上匹配id并携带密钥?

以下是实现该场景的JS方法:

constpeople=[{id:1,名字:'johndoe'},{id:2,名字:'janedoe'}];
constplaces=[{id:1,状态:'CA'},{id:2,状态:'AK'}];
const result=people.map(ppl=>{
ppl.places=places.find(plc=>plc.id==ppl.id)
返回ppl;
})
console.log(结果)
//ES6路
让res=people.map(obj=>{
让data=places.find(item=>item.id==obj.id);
返回{…obj,places:data}
});

console.log('ES6-way…',res)
既然
places
中的
id
值是相同的,为什么还要麻烦将其存储在结果中呢?这些人是从sqlite数据库以角度应用程序输入的,然后循环并分组。地点是以更新的形式存在的动态事物。我需要携带这些值并使用ngmodel恢复它们。