js数组去重

2020-10-27  本文已影响0人  callPromise

1. 利用filter方法

const arr = [2,736,15,9,15,8998]
arr.filter((element, index, self) => {
  return self.indexOf(element) === index
})

chrome执行结果如下


image.png

2. 利用reduce方法

reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

[43,512,23,1,23,8,923].reduce((accumulator, currentValue, currentIndex, array) => {
  if (!accumulator.includes(currentValue)) {
    accumulator.push(currentValue)
  }
  return accumulator
}, [])
image.png

3. 利用ES6的Set

const ar = ['fwef', 'fwef', 87, 87, true, true, false, false, NaN, NaN, null, null, undefined, undefined ];
console.log(Array.from(new Set(ar)));
image.png

4.for循环结合indexOf

5.双层for循环

上一篇下一篇

猜你喜欢

热点阅读