数组去重

2018-05-28  本文已影响5人  阿亮2019

传统方法

const array = [1,5,2,3,4,2,3,1,3,4];

const unique = function (arr) {
  const uniqueArr = [];
  array.forEach((item) => {
    !uniqueArr.includes(item) && uniqueArr.push(item);
  })
  
  return uniqueArr;
}

console.log(unique(array)); // 1, 5, 2, 3, 4

ES6

const unique2 = function (arr) {
  return [...new Set(array)];
}

console.log(unique2(array)); // 1, 5, 2, 3, 4

扩展

传统方法

const unique3 = function (arr) {
  return arr.filter((item, index) => {
    return arr.indexOf(item) === index; // 1, 5, 2, 3, 4
  })
}

最后再写到 Array.prototype 原型中

Array.prototype.unique = function() {
  return this.filter((item, index) => {
    return this.indexOf(item) === index;
  })
}

console.log(array.unique.apply(array));  // 1, 5, 2, 3, 4
上一篇下一篇

猜你喜欢

热点阅读