js数组对象去重

// 兼容ie8 不会改变原数组
function deWeight(arr) {
  for (var i = 0; i < arr.length - 1; i++) {
      for (var j = i + 1; j < arr.length; j++) {
          if (arr[i].name== arr[j].name) { // name为需要去重字段
              arr.splice(j, 1);
              //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
              j--;
          }
      }
  }
  return arr
}
// 兼容ie8 会改变原数组
function deWeight() {
    for (var i = 0; i < arr.length - 1; i++) {
        for (var j = i + 1; j < arr.length; j++) {
            if (arr[i].name == arr[j].name) {
                arr.splice(j, 1);
                //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
                j--;
            }
        }
    }
    return arr;
}
// 不兼容ie8 es6 reduce
arr = arr.reduce(function(item, next) {
       obj[next.key] ? '' : obj[next.key] = true && item.push(next);
       return item;
}, []);
// es6 set去重
function unique10 (arr) {
  return Array.from(new Set(arr))
}
posted @ 2020-11-18 10:36  王小美丶  阅读(341)  评论(0编辑  收藏  举报