搜索条件切换,保存已勾选的数据,再回填思路

let data = [1];
let arr1 = [
  { id: 1, city: '北京' },
  { id: 3, city: '上海' },
  { id: 4, city: '成都' },
]
let arr2 = [
  { id: 1, city: '北京' },
  { id: 2, city: '天津' },
  { id: 3, city: '上海' },
  { id: 5, city: '云南' }
]
// 查找重叠的元素
function getList (arr1, arr2) {
  let list = [];
  arr1.forEach(item=>{
    if(arr2.some(item2=>item2.id === item.id)){
      list.push(item)
    }
  })
  return list;
}

function getOnlyList (arr1, arr2) {
  let list = [];
  arr2.forEach(item=>{
    if(arr1.every(item2=>item.id !== item2)){
      list.push(item)
    }
  })
  return list;
}

let arrInerst = getList(arr1, arr2)
console.log(arrInerst)  
// 打印出来的
// [{"id": 1,"city": "北京"},{"id": 3,"city": "上海"}]
let arrInerst2 = getOnlyList(data, arrInerst)
console.log(arrInerst2)
// 打印出来的
// [{"id": 3,"city": "上海"}]


版权声明:本文为weixin_45455227原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。