Javascript 按公共值js映射两个对象数组
我希望通过代码映射这两个对象列表,以获得如下输出:Javascript 按公共值js映射两个对象数组,javascript,arrays,typescript,Javascript,Arrays,Typescript,我希望通过代码映射这两个对象列表,以获得如下输出: const object1: [{ "code": "lap-143240121", "index": 0 }, { "code": "lap-15040293", "index": 1 }, { "code": "lp-1504444", "index
const object1: [{
"code": "lap-143240121",
"index": 0
}, {
"code": "lap-15040293",
"index": 1
}, {
"code": "lp-1504444",
"index": 2
}, {
"code": "lp-150440987",
"index": 3
}]
const object2: [{
"code": "lap-143240121",
"name": "name1"
}, {
"code": "lap-15040293",
"name": "name2"
}, {
"code": "lp-1504444",
"name": "name3"
}]
- 将object1转换为
,其中Map
的值作为键,将整个code
作为值object
- 在上面创建的映射中的object2上迭代object2搜索
,如果找到,则合并属性code
map
迭代object2
,然后使用rest操作符返回一个对象
,该对象由object1
中的所有元素和名称组成
const object1=[{
“代码”:“lap-14340121”,
“索引”:0
}, {
“代码”:“lap-15040293”,
“索引”:1
}, {
“代码”:“lp-1504444”,
“索引”:2
}, {
“代码”:“lp-150440987”,
“索引”:3
}]
常量对象2=[{
“代码”:“lap-14340121”,
“名称”:“名称1”
}, {
“代码”:“lap-15040293”,
“名称”:“名称2”
}, {
“代码”:“lp-1504444”,
“名称”:“名称3”
}];
const obj3=object2.map((项)=>{
返回{
…项,//将包含object2中的所有项
//从代码匹配的object1获取索引
索引:object1.find(elem=>elem.code==item.code).index
}
});
console.log(obj3)
请告诉我您尝试了什么。答案很简单,但我同意@angelo,您至少要努力解决这个问题。谢谢。这是因为我没有成功,我张贴。我不知道如何将一个值添加到另一个值。下面是我的代码(obj1的var-val){var v=obj2.filter(item=>item.code==val.code)let-trial=obj2.filter(函数(obj){return obj.code==val.code;}).map(函数(os){返回os.code;})
const objectResult: [{
"code": "lap-143240121",
"index": 0,
"name": "name1"
}, {
"code": "lap-15040293",
"index": 1,
"name": "name2"
}, {
"code": "lp-1504444",
"index": 2,
"name": "name3"
}]