利用ES6 Set去重

方法一: 使用 Set

javascript 复制代码
const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];
const uniqueArr = Array.from(new Set(arr));
// 或者使用扩展运算符
// const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5, 6, 7]

方法二: 使用 indexOf

javascript 复制代码
const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];
const uniqueArr = [];
arr.forEach(item => {
  if (uniqueArr.indexOf(item) === -1) {
    uniqueArr.push(item);
  }
});
console.log(uniqueArr); // [1, 2, 3, 4, 5, 6, 7]

方法三: 使用 includes

javascript 复制代码
const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];
const uniqueArr = [];
arr.forEach(item => {
  if (!uniqueArr.includes(item)) {
    uniqueArr.push(item);
  }
});
console.log(uniqueArr); // [1, 2, 3, 4, 5, 6, 7]

方法四: 使用 filter

javascript 复制代码
const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];
const uniqueArr = arr.filter((item, index, array) => {
  return array.indexOf(item) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4, 5, 6, 7]

方法五: 使用 reduce

javascript 复制代码
const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];
const uniqueArr = arr.reduce((result, current) => {
  if (!result.includes(current)) {
    result.push(current);
  }
  return result;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5, 6, 7]
相关推荐
瓜瓜怪兽亚1 小时前
前端基础知识---Ajax
前端·javascript·ajax
有时间要学习1 小时前
Qt——窗口
开发语言·qt
AI智能研究院1 小时前
(四)从零学 React Props:数据传递 + 实战案例 + 避坑指南
前端·javascript·react.js
qq7798233401 小时前
React组件完全指南
前端·javascript·react.js
EndingCoder1 小时前
MongoDB基础与Mongoose ODM
服务器·javascript·数据库·mongodb·中间件·node.js
消失的旧时光-19432 小时前
@JvmStatic 的作用
java·开发语言·kotlin
skywalk81632 小时前
基于频域的数字盲水印blind-watermark
linux·开发语言·python
qq7798233402 小时前
React Hooks完全指南
前端·javascript·react.js
Moment2 小时前
性能狂飙!Next.js 16 重磅发布:Turbopack 稳定、编译提速 10 倍!🚀🚀🚀
前端·javascript·后端
Tiger_shl2 小时前
三大并发集合ConcurrentDictionary、ConcurrentBag、ConcurrentQueue
开发语言·c#