Javascript 映射两个数组

Javascript 映射两个数组,javascript,arrays,typescript,mapping,Javascript,Arrays,Typescript,Mapping,我有两个数组 A=[{ “id”:22, “名称”:“ABC”, “createdDate”:“2021-04-19T05:55:41.247+0000”, “modifiedDate”:空 }, { “id”:23, “名称”:“定义”, “createdDate”:“2021-04-19T05:55:41.247+0000”, “modifiedDate”:空 }, { “id”:24, “名称”:“GHI”, “createdDate”:“2021-04-19T05:55:41.247+0

我有两个数组

A=[{
“id”:22,
“名称”:“ABC”,
“createdDate”:“2021-04-19T05:55:41.247+0000”,
“modifiedDate”:空
}, {
“id”:23,
“名称”:“定义”,
“createdDate”:“2021-04-19T05:55:41.247+0000”,
“modifiedDate”:空
}, {
“id”:24,
“名称”:“GHI”,
“createdDate”:“2021-04-19T05:55:41.247+0000”,
“modifiedDate”:空
}]
设B=[{
“键”:“selectedId”,
“值”:“id”
}, {
“键”:“selectedName”,
“值”:“名称”
}]
我想映射这两个数组。就像下面的数组一样

let C = [{
  selectedId: 22,
  selectedName: "ABC"
}, {
  selectedId: 23,
  selectedName: "DEF"
}, {
  selectedId: 24,
  selectedName: "GHI"
}]
下面是我到目前为止所做的尝试。我不知道如何像上面的数组那样映射数据。如果有人能回答这个问题,那将是一个巨大的帮助。谢谢

A.forEach(item => {
   B.forEach(element => {
             
   });
});

您可以使用所需的键/值对映射条目

const
数据=[{id:22,名称:“ABC”,createdDate:“2021-04-19T05:55:41.247+0000”,modifiedDate:null},{id:23,名称:“DEF”,createdDate:“2021-04-19T05:55:41.247+0000”,modifiedDate:null},{id:24,名称:“GHI”,createdDate:“2021-04-19T05:55:41.247+0000”,modifiedDate:null},
keys=[{key:“selectedId”,value:“id”},{key:“selectedName”,value:“name”}],
结果=数据.map(o=>
Object.fromEntries(keys.map(({key,value})=>[key,o[value]]))
);
控制台日志(结果)
.as控制台包装{最大高度:100%!重要;顶部:0;}
const
A=[
{“id”:22,“name”:“ABC”,“createdDate”:“2021-04-19T05:55:41.247+0000”,“modifiedDate”:null},
{“id”:23,“name”:“DEF”,“createdDate”:“2021-04-19T05:55:41.247+0000”,“modifiedDate”:null},
{“id”:24,“name”:“GHI”,“createdDate”:“2021-04-19T05:55:41.247+0000”,“modifiedDate”:null}
],
B=[
{“key”:“selectedId”,“value”:“id”},
{“key”:“selectedName”,“value”:“name”}
];
//从B获取道具钥匙的地图
const map=B.reduce((map,{key,value})=>map.set(value,key),newmap);
//迭代
const res=A.map(项=>
//从当前项中,使用上面的映射构造一个对象
[…map.entries()].reduce((obj[prop,key])=>({…obj[key]:item[prop]}),{})
);

控制台日志(res)您正在将一个数组转换为另一个长度相同的数组,所以是的-这是一个映射操作。其中,您正在将数组转换为。。。还有别的。这是一个降价

以下是我的方法:

A=[
{
身份证号码:22,
名称:“ABC”,
createdDate:“2021-04-19T05:55:41.247+0000”,
modifiedDate:null,
},
{
id:23,
名称:“DEF”,
createdDate:“2021-04-19T05:55:41.247+0000”,
modifiedDate:null,
},
{
id:24,
名称:“GHI”,
createdDate:“2021-04-19T05:55:41.247+0000”,
modifiedDate:null,
},
];
设B=[
{
键:“selectedId”,
值:“id”,
},
{
键:“selectedName”,
值:“名称”,
},
];
常量输出=A.map((项)=>
B.reduce((acum,pair)=>({…acum,[pair.key]:项[pair.value]}),{})
);

控制台日志(输出)@JakubDóka你能给我一些提示吗哇,太辣了,谢谢你帮我完成了。