利用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]
相关推荐
C#Thread24 分钟前
C# 上位机--变量
开发语言·c#
dal118网工任子仪27 分钟前
128,【1】buuctf [极客大挑战 2019]PHP
开发语言·php
一只小阿乐33 分钟前
JS对象拷贝的几种实现方法以及如何深拷贝(面试题)
开发语言·javascript·ecmascript·浅拷贝·深拷贝
丁总学Java35 分钟前
产品详情页中 品牌官网详情 对应后端的字段是 detail
前端·javascript·vue.js
溜达哥42 分钟前
嵌入页面不能正常获取 reponse header : content-disposition
javascript·vue.js·header
武昌库里写JAVA1 小时前
16.React学习笔记.React更新机制
java·开发语言·spring boot·学习·课程设计
觉醒法师1 小时前
HarmonyOS开发 - 记事本实例一(界面搭建)
前端·javascript·华为·harmonyos
小六*^____^*1 小时前
vue3学习之待办事项列表(Todo List)
javascript·学习·list
Excuse_lighttime2 小时前
选择排序
java·开发语言·数据结构·算法·排序算法
Excuse_lighttime2 小时前
插入排序和希尔排序
java·开发语言·数据结构·算法·排序算法