【求助】数组中的对象的属性,替换为另一个数组中的值该怎么做?
// 把arr1中每一个对象的a的值,替换成arr2中对应的value值该怎么做???
let arr1 = [ {
a:'aaa',
b:'bbb',
c:'ccc',
},
{
a:'aaa222',
b:'bbb222',
c:'ccc222',
},
{
a:'aaa333',
b:'bbb333',
c:'ccc333',
}
]
let arr2 = [
{label:'aaa',value:'你好'},
{label:'aaa222',value:'你好呀'},
{label:'aaa333',value:'你好呀呀'}
]
回答:
对arr1进行迭代,并在其中找出匹配到的项,将值赋予就好了:
for (let item of arr1) { let matched = arr2.find(element => element.label === item.a)
item.a = matched.value
}
回答:
用一个map来存arr2的映射关系,然后遍历arr1的每一项进行匹配。
function handleData(arr1, arr2) { let map = new Map()
let result = []
arr2.forEach(item => {
map.set(item.label, item.value)
})
result = arr1.map(item => {
let obj = {}
Object.entries(item).forEach(x => {
obj[x[0]] = map.get(x[1]) || x[1]
})
return obj
})
return result
}
以上是 【求助】数组中的对象的属性,替换为另一个数组中的值该怎么做? 的全部内容, 来源链接: utcz.com/p/932786.html