JS案例——找出两个数组中的不同元素或对象、数组去重

一、找出两个数组中的不同元素或对象

1、 数据

var arr1 = ["张瑞淑", "徐海涛", "谢岗岗", "薛鹏", "魏明杨", "党婷", "熊飞", "郑翠翠", "李航卫", "屈涛", "汪孝双", "代攀飞", "武志钰", "王亚龙", "周芙榕", "李涛", "郝颖", "文冲洋", "王旭拯", "胡佳豪", "寇晓丽", "马晓晗","王思聪", "张绿", "李德", "郑萍", "张凯", "张嘉成", "葛云侠", "杨磊", "任变", "景德", "高卷林", "刘益凡", "赵娜", "陈章鸣", "张荣召", "赵凯旋", "程倩倩", "脱朝平", "刘吉利", "郭苗苗", "马建峰", "潘瑞", "闫翔", "马晨", "李轩轩", "黄红梅", "刘书彬", "罗强", "刘东","王可可" ,"陈泽文", "李嘉琪", "段佳琦", "黄燕", "邱淑鸿", "宋翔宇", "王波", "樊琳", "王兆国", "许成", "李兴"];

var arr2 = ["张瑞淑", "徐海涛", "谢岗岗", "薛鹏", "魏明杨", "党婷", "熊飞", "郑翠翠", "李航卫", "屈涛", "汪孝双", "代攀飞", "武志钰", "王亚龙", "周芙榕", "李涛", "郝颖", "文冲洋", "王旭拯", "胡佳豪", "寇晓丽", "马晓晗", "张绿", "李德","郑萍", "张凯", "张嘉成", "葛云侠", "杨磊", "任变", "景德", "高卷林", "刘益凡", "赵娜", "陈章鸣", "张荣召", "赵凯旋", "程倩倩", "脱朝平", "刘吉利", "郭苗苗", "马建峰", "潘瑞", "闫翔", "马晨", "李轩轩", "黄红梅", "刘书彬", "罗强", "刘东", "陈泽文", "李嘉琪", "段佳琦", "黄燕", "邱淑鸿", "宋翔宇", "王波", "樊琳", "王兆国", "许成", "李兴"];

2、找出不同的元素

《1》方法一

function getDifferent(arr1, arr2) {
    
    
  var newArr = arr1.concat(arr2);
  var obj = {
    
    };
  for (var i = 0; i < newArr.length; i++) {
    
    
    var chars = newArr[i];
    if (obj[chars]) {
    
    
      obj[chars]++;
    } else {
    
    
      obj[chars] = 1;
    }
  }
  var differentArr = [];
  for (k in obj) {
    
    
    if (obj[k] == 1) {
    
    
      differentArr.push(k);
    }
  }
  return differentArr;
}
console.log(getDifferent(arr1, arr2));

《二》方法二

function getDifferent(arr1, arr2) {
    
    
  var newArr = arr1.concat(arr2);
  return newArr.filter((e, index, array) => {
    
    
    return array.indexOf(e) == array.lastIndexOf(e);
  });
}
console.log(getDiffent(arr1, arr2));

二、数组去重

var arr = [1, 3, 5, 7, 5, 6, 4, 7, 3, 5];
var newArr = arr.filter(function (value, index, arr) {
    
    
  return arr.indexOf(value) == index;  // indexOf查找元素的第一个索引值
});

猜你喜欢

转载自blog.csdn.net/Vest_er/article/details/129170858
今日推荐