Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何添加条件比较两个数组并更改匹配数组的值_Javascript_Arrays_Node.js_Underscore.js_Lodash - Fatal编程技术网

Javascript 如何添加条件比较两个数组并更改匹配数组的值

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 },

我想比较两个数组,因为我想更改匹配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)
})
您可以尝试以下方法:

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;