js含对象数组的去重

对于含有对象的复杂数组而言,创建新数组使用简单的indexOf判断新数组是否含有数组元素是不适用的,这里需要用到reduce的方法:

var array = [
{"sort":"1","name":"老王"},
{"sort":"2","name":"老李"},
{"sort":"3","name":"老张"},
{"sort":"4","name":"老岳"},
{"sort":"5","name":"老刘"},
{"sort":"1","name":"老王"},
];

unique(array);
//利用reduce方法遍历数组,reduce第一个参数是遍历需要执行的函数,第二个参数是item的初始值
function unique(arr){
      var obj = {};
      arr = ary.reduce(function(item, next) {
      obj[next.sort] ? '' : obj[next.sort] = true && item.push(next); 
         return item;
      },[]); 
      return arr;
}

猜你喜欢

转载自www.cnblogs.com/xxySsm/p/11720150.html
今日推荐