我想比较两个数组,因为我想更改匹配ID的值。
请参阅波纹管阵列的结果。
let array1 =[
{
"id": 1,
"value": false
},
{
"id": 2,
"value": false
},
{
"id": 3,
"value": true
},
{
"id": 4,
"value": false
}
]
let array2 = [
{
"id": 1
},
{
"id": 4
}
]
我想使用下划线库比较此数组并返回比较数组值的结果,如下面的数组所示
result = [
{
"id": 1,
"value": true
},
{
"id": 2,
"value": false
},
{
"id": 3,
"value": true
},
{
"id": 4,
"value": true
}
]
array1.forEach(item => {
item.value = item.value || array2.some(item2 => item2.id === item.id)
})
您可以做:
const array1 =[
{
"id": 1,
"value": false
},
{
"id": 2,
"value": false
},
{
"id": 3,
"value": true
},
{
"id": 4,
"value": false
}
]
const array2 = [
{
"id": 1
},
{
"id": 4
}
]
const result = array1.reduce((a, {id, value}) => {
return [...a, {
id,
value:!!array2.find(item => item.id === id)
}]
}, [])
console.log(result)