过滤数组对象重复的对象

471 阅读1分钟

deteleObject(obj) { var uniques = []; var stringify = {};

  for (var i = 0; i < obj.length; i++) {
    var keys = Object.keys(obj[i]);
    
    keys.sort(function (a, b) {
      return Number(a) - Number(b);
    });
    var str = "";
    for (var j = 0; j < keys.length; j++) {
    
      if(keys[j]!='usedAmount' ){//针对某个字段不做为判断条件

         str += JSON.stringify(keys[j]);
      str += JSON.stringify(obj[i][keys[j]]);

      }
     
    }
  
    if (!stringify.hasOwnProperty(str)) {
      
      uniques.push(obj[i]);
      stringify[str] = true;
    }
  }
  uniques = uniques;
  return uniques;
}
deteleObject([{id:1},{id:3},{id:1}])
//[{id:1},{id:3}]