js获取2个数组中的相同数据和不同数组

2024年07月28日 建站教程

1、方法:

function getData(arr1, arr2, type) {
  var result = [];
  for (var i = 0; i < arr1.length; i++) {
    var item1 = arr1[i],
      found = false;
    for (var j = 0; j < arr2.length; j++) {
      if (item1.id === arr2[j].id) {
        found = true;
        break;
      }
    }
    if (found === type) {
      result.push(item1);
    }
  }
  return result;
}

2、数组数据

var arr1 = [
  {id:1,name:'中国'}, 
  {id:2,name:'美国'}, 
  {id:3,name:'英国'},
  {id:4,name:'法国'}, 
  {id:5,name:'德国'}
];

var arr2 = [
  {id:1,name:'中国'},  
  {id:3,name:'英国'},
  {id:4,name:'法国'},
  {id:6,name:'西班牙'}
];

3、输出结果

console.log('获取相同数组:', getData(arr1, arr2, true)); 
//获取相同数组: 
(3) [{…}, {…}, {…}]0: {id: 1, name: '中国'}1: {id: 3, name: '英国'}2: {id: 4, name: '法国'}]
console.log('获取不同数据:', getData(arr1, arr2, false)); 
//获取不同数据: 
(2) [{…}, {…}]0: {id: 2, name: '美国'}1: {id: 5, name: '德国'}]

本文链接:http://so.lmcjl.com/news/9329/

展开阅读全文
相关内容