我有两个数组,循环遍历这两个数组,判断这两个数组有相同的id的时候,将其中一个数组中的某个变量变为true

问题描述

问题出现的环境背景及自己尝试过哪些方法

我有两个数组,循环遍历这两个数组,判断这两个数组有相同的id的时候,将其中一个数组中的某个变量变为true### 相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 5.6k
3 个回答
const arr1 = [
    {
        id:1,
        state:false
    },
    {
        id:2,
        state:false
    },
    {
        id:3,
        state:false
    }
];
const arr2 =  [
    {
        id:5,
        state:false
    },
    {
        id:6,
        state:false
    },
    {
        id:7,
        state:false
    },
    {
        id:1,
        state:false
    },
];

for(let i = 0 ; i < arr1.length; i++){
    const target = arr2.find((v) => v.id === arr1[i].id);
    if (target) {
        arr1[i].state = target.state;
    }
}
arr1.forEach(item => {
  if (arr2.find(_item => item.id === _item.id)) {
    item.flag = true
  }
})
arr1.map((a1) => {
    arr2.map((a2) => {
       if(a1.id === a2.id){
          a1.flag = true;//a2.flag = true
       }
    })
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题