How to remove duplication item from JS array?
Here is 18 methods.
https://github.com/microwind/algorithms/tree/master/unique
// the multi method for array unique
// JavaScript数组去重的N种方法
(function () {
  // 1. new array
  console.time('time')
  var arr = ['a', 'a', 1, 1, 2, 2, 'b', 'b', 2, 1]
  var newArr = []
  for (var i = 0, l = arr.length; i < l; i++) {
    for (var j = 0; j <= i; j++) {
      if (arr[i] === arr[j]) {
        if (i === j) {
          newArr.push(arr[i])
        }
        break
      }
    }
  }
  console.log('new array result:', newArr)
  console.timeEnd('time')
})();
(function () {
  // 1.1 new array + indexOf
  console.time('time')
  var arr = ['a', 'a', 1, 1, 2, 2, 'b', 'b', 2, 1]
  var newArr = []
  for (var i = 0, l = arr.length; i < l; i++) {
    if (newArr.indexOf(arr[i]) < 0) {
      newArr.push(arr[i])
    }
  }
  console.log('new array + indexOf:', newArr)
  console.timeEnd('time')
})();
(function () {
  // 1.2 new array + includes
  console.time('time')
  var arr = ['a', 'a', 1, 1, 2, 2, 'b', 'b', 2, 1]
  var newArr = []
  for (var i = 0, l = arr.length; i < l; i++) {
    if (!newArr.includes(arr[i])) {
      newArr.push(arr[i])
    }
  }
  console.log('new array + includes:', newArr)
  console.timeEnd('time')
})();
more see: https://github.com/microwind/algorithms/tree/master/unique
 

 
    
Top comments (0)