js数组对象去重

Posted 东城以东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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))
}

以上是关于js数组对象去重的主要内容,如果未能解决你的问题,请参考以下文章

js利用Map对两个数组对象进行合并去重

(去重)JS比较两个数组对象,取出不同的值

ES6 数组内对象去重

JS中数组对象去重

JS 两个数组对象的遍历去重

js 对象数组 去重