js 两个数组匹配相同的数据处理?
let arr = [
{ type: "name"},
{ type: "age"},
{ type: "money"},
]
let arr1 = [
{
name: "X",
age: "18",
gender: 1,
money: 100,
sex: 1
},
{
name: "XX",
age: "20",
gender: 1,
money: 200,
sex: 1
},
]
期望得到:
根据arr数组里面的type的值 去取arr1数组中对应的属性里面的值、返回新的数组
麻烦各位大佬帮忙看看
let res = [
{
name: "X",
age: "18",
money: 100
},
{
name: "XX",
age: "20",
money: 200
}
]
回复
1个回答
test
2024-08-11
源数据和 arr1 一样,肯定是 arr1.map 然后具体内容和 arr 一样,肯定是 arr.reduce 呗
arr1.map(v=>{
return arr.reduce((s, n)=>{
const type = n.type
s[type] = v[type]
return s
},{})
})
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容