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]

 

上一篇:C++构建自己的计算机 ,C++机器语言程序
下一篇:import Vue from 'vue'的过程

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月13日 14时06分58秒