Javascript 如何添加条件比较两个数组并更改匹配数组的值
我想比较两个数组,因为我想更改匹配id的值 请参考下面的数组和结果Javascript 如何添加条件比较两个数组并更改匹配数组的值,javascript,arrays,node.js,underscore.js,lodash,Javascript,Arrays,Node.js,Underscore.js,Lodash,我想比较两个数组,因为我想更改匹配id的值 请参考下面的数组和结果 let array1 =[ { "id": 1, "value": false }, { "id": 2, "value": false }, { "id": 3, "value": true }, { "id": 4, "value": false } ] let array2 = [ { "id": 1 },
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)
})
您可以尝试以下方法:
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}]
常量数组2=[{id:1},{id:4}]
const result=array1.map{id,value}=>{
身份证件
value:value | | array2.someitem=>item.id==id
}
console.logresult您可以使用:
const array1=[{id:1,value:false},{id:2,value:false},{id:3,value:true},{id:4,value:false}]
常量数组2=[{id:1},{id:4}]
const result=array1.map{id,value}=>{
身份证件
value:value | | array2.someitem=>item.id==id
}
console.logresult您可以使用lodash.map和lodash.some来检查对象并更新值
设array1=[{id:1,value:false},{id:2,value:false},{id:3,value:true},{id:4,value:false}],
array2=[{id:1},{id:4}],
结果=u.maparray1,o=>{…o,值:u.somearray2,{id}=>id==o.id | | o.value};
console.logresult;
可以将lodash.map与lodash.some一起使用,以检查对象并更新值
设array1=[{id:1,value:false},{id:2,value:false},{id:3,value:true},{id:4,value:false}],
array2=[{id:1},{id:4}],
结果=u.maparray1,o=>{…o,值:u.somearray2,{id}=>id==o.id | | o.value};
console.logresult;
使用map的另一种解决方案 让我们安排1=[ { id:1, 值:false }, { id:2, 值:false }, { id:3, 值:true }, { id:4, 值:false } ] 设array2=[ { 身份证号码:1 }, { 身份证号码:4 } ] const resultar=array1.mapitem=>{ 如果array2.findIndexitem2=>{return item2.id==item.id}!==1{ item.value=true; } 退货项目; }
console.logresultar 使用map的另一种解决方案 让我们安排1=[ { id:1, 值:false }, { id:2, 值:false }, { id:3, 值:true }, { id:4, 值:false } ] 设array2=[ { 身份证号码:1 }, { 身份证号码:4 } ] const resultar=array1.mapitem=>{ 如果array2.findIndexitem2=>{return item2.id==item.id}!==1{ item.value=true; } 退货项目; } console.logresultar;