Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按公共值js映射两个对象数组_Javascript_Arrays_Typescript - Fatal编程技术网

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