方法一:利用 Set

使用 Set 可以很方便地去除重复元素,然后再将 Set 转换为数组即可。

const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4, 5]

方法二:利用 filter() 和 indexOf()

使用 filter() 方法遍历数组,然后使用 indexOf() 方法判断当前元素在数组中是否存在,如果不存在则加入新数组中。

const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = arr.filter((item, index, arr) => {
  return arr.indexOf(item) === index;
});
console.log(newArr); // [1, 2, 3, 4, 5]

方法三:利用 reduce() 和 includes()

使用 reduce() 方法遍历数组,然后使用 includes() 方法判断当前元素在新数组中是否存在,如果不存在则加入新数组中。

const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = arr.reduce((prev, cur) => {
  if (!prev.includes(cur)) {
    prev.push(cur);
  }
  return prev;
}, []);
console.log(newArr); // [1, 2, 3, 4, 5]
javascript-实现数组去重

原文地址: https://www.cveoy.top/t/topic/g7g 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录