当前位置: 首页 > news >正文

利用ES6 Set去重

方法一: 使用 Set

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

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

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

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

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]

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • rust实现一个post小程序
  • MySQL 多表查询
  • 二叉树的遍历的递归与非递归算法
  • 【C语言】结构体、枚举、联合(自定义类型)
  • 如何使用vscode启动Flask并实现无公网IP远程访问内网服务
  • 解锁金融数据中心场景,实现国产化AD替代,宁盾身份域管为信创电脑、应用提供统一管理
  • Maven POM元素解析
  • Rust 实战练习 - 9. 文本编码,URL编码,加密解密
  • 汽车EDI:如何与奔驰建立EDI连接?
  • pta L-007 念数字
  • LeetCode热题Hot100 - 有效的括号
  • Golang | Leetcode Golang题解之第17题电话号码的字母组合
  • SQL SERVER 备份
  • jenv实现mac下多版本jdk管理以及切换
  • 【AcWing】蓝桥杯集训每日一题Day14|Flood Fill|洪水灌溉算法|DFS|并查集|687.扫雷(C++)
  • ➹使用webpack配置多页面应用(MPA)
  • bearychat的java client
  • Git初体验
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JAVA并发编程--1.基础概念
  • JS函数式编程 数组部分风格 ES6版
  • Nodejs和JavaWeb协助开发
  • overflow: hidden IE7无效
  • Rancher如何对接Ceph-RBD块存储
  • select2 取值 遍历 设置默认值
  • STAR法则
  • VUE es6技巧写法(持续更新中~~~)
  • 初识 webpack
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 什么软件可以剪辑音乐?
  • 算法之不定期更新(一)(2018-04-12)
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • ‌JavaScript 数据类型转换
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #define 用法
  • #FPGA(基础知识)
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #Z2294. 打印树的直径
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (39)STM32——FLASH闪存
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (蓝桥杯每日一题)love
  • (南京观海微电子)——示波器使用介绍
  • (十二)Flink Table API
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一) 初入MySQL 【认识和部署】
  • (转)程序员技术练级攻略
  • *上位机的定义
  • .bat文件调用java类的main方法
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript