利用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 分钟前
Docker + Nginx + Logrotate 日志管理与轮换实践
java·开发语言
じ☆ve 清风°2 小时前
JavaScript 原型与原型链:深入理解 __proto__ 和 prototype 的由来与关系
开发语言·javascript·原型模式
_r0bin_6 小时前
前端面试准备-7
开发语言·前端·javascript·fetch·跨域·class
IT瘾君6 小时前
JavaWeb:前端工程化-Vue
前端·javascript·vue.js
zhang98800006 小时前
JavaScript 核心原理深度解析-不停留于表面的VUE等的使用!
开发语言·javascript·vue.js
Fanxt_Ja8 小时前
【JVM】三色标记法原理
java·开发语言·jvm·算法
蓝婷儿8 小时前
6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器
开发语言·python·学习
love530love8 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
slandarer9 小时前
MATLAB | 绘图复刻(十九)| 轻松拿捏 Nature Communications 绘图
开发语言·matlab
狐凄9 小时前
Python实例题:Python计算二元二次方程组
开发语言·python