数组对象去重

es6 数组去重
var myArr = [1,2,3,4,5,1,2,3]; Array.from(new Set(myArr));
var newArr =  [ ...myArr ]

这些都是一般数组去重的方式,如果遇到数组对象的形式 [ {name:'123'} , {name:'123'} , {name:'456'} , {name:'456'} ] ,   需要用对象中的某个键值对进行匹配去重

var arr = [
  {
    "CompanySerial": "123",
    "OldDeviceId": "id111",
    "HandleState": 2
  },
  {
    "CompanySerial": "456",
    "OldDeviceId": "id111",
    "HandleState": 2
  }, {
    "CompanySerial": "789",
    "OldDeviceId": "id222",
    "HandleState": 1
  }]
  function fn(arr) {
    const res = new Map();
    return arr.filter(a=>{
      return !res.has(a.OldDeviceId) && res.set(a.OldDeviceId,1);
    })
  }
  var myData = fn(arr);
  console.log(myData); //结果你们自己看 ^ ~ ^




 
原文地址:https://www.cnblogs.com/wgy0528/p/10600747.html