公共技巧 数组去重

42 阅读1分钟

普通数据去重:

let arr = [...new Set(arr)]

对象数组去重

例如根据id进行数组去重:

方法一:

arrDeduplication(arr) {
    for (let i=0,len = arr.length; i < len; i++) {
        for (let j = i + 1; j < len; j++) {
            if (arr[i].id === arr[j].id) {
                arr.splice(j, 1);
                j--;
                len--;
            }
        }
    }
    return arr;
}

方法二:

arrDeduplication(array) {
  return array.filter((item, index) => {
    return index === array.findIndex(obj => {
      return JSON.stringify(obj) === JSON.stringify(item);
    });
  });
}