
js实现数组去重简洁代码(filter,Set,reduce)
发布日期:2021-05-15 16:32:57
浏览次数:19
分类:精选文章
本文共 835 字,大约阅读时间需要 2 分钟。
1、通过filter实现数组去重
filter中传入的函数有三个参数。第一个item表示当前元素的值,第二个index表示当前元素的索引值,第三个self表示当前元素属于的数组对象。
var arr = [2,4,3,3,4,2,3,254,234,4];function unique(arr) { return arr.filter((item, index, self) => { return self.indexOf(item) == index; })}console.log(unique(arr))
2、通过ES6新增的数据结构Set来实现数组去重
var arr = [2,4,3,3,4,2,3,254,234,4];function unique(arr) { var x = new Set(arr); return [...x]}console.log(unique(arr))
3、通过reduce函数来实现数组去重
// reduce 方法// arr.reduce(function(prev, cur, index, arr) {// // code...// }, init);/** * 其中,arr 表示原数组 * prev 表示上一次调用回调时候的返回值,或者初始值init; * cur 表示当前正在处理的数组元素; * index 表示当前正在处理的数组元素的索引,若提供init值,则索引为0.否则索引为1; */var arr = [2,3,24,2,4,24,252,3,2];var newArr = arr.reduce((prev, cur) => { prev.indexOf(cur) == -1 && prev.push(cur); return prev;}, []);console.log(newArr); // [2,3,24,4,252]
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月13日 14时06分58秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
BUU-MISC-认真你就输了
2021-05-12
BUU-MISC-caesar
2021-05-12
【专题2:电子工程师 之 上位机】 之 【36.事件重载】
2021-05-12
【专题3:电子工程师 之 上位机】 之 【46.QT音频接口】
2021-05-12
一文理解设计模式--命令模式(Command)
2021-05-12
VTK:可视化之RandomProbe
2021-05-12
block多队列分析 - 2. block多队列的初始化
2021-05-12
Java时间
2021-05-12
不编译只打包system或者vendor image命令
2021-05-12
The wxWindows Library Licence (WXwindows)
2021-05-12
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
2021-05-12
MySQL----基础及常用命令
2021-05-12
flink启动(二)
2021-05-12
关于宝塔面板安装的mysql用Navicat连接出现2003的错误解决
2021-05-12
Windows2016 FTP用户隔离
2021-05-12
吴恩达机器学习课程笔记(英文授课) Lv.1 新手村(回归)
2021-05-12
pair的用法
2021-05-12
SQL基本操作命令
2021-05-12
C# WinForm程序退出的方法
2021-05-12