数组去重方法 js

数组去重方法 js,第1张

js数组去重的方法可以利用数组排序,通过相邻元素比较,去除重复元素。

去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。在真实的项目中碰到的数组去重,一般都是后台去处理,很少让前端处理数组去重。虽然日常项目用到的概率比较低,但还是需要了解一下,以防面试的时候可能回被问到。

利用for嵌套for,然后splice去重(ES5中最常用)。双层循环,外层循环元素,内层循环时比较值。值相同时,则删去这个值。想快速学习更多常用的ES6语法,可以看一些相关的文章如《学习ES6笔记──工作中常用到的ES6语法》。

js数组去重的几种方法

利用数组排序,通过相邻元素比较,去除重复元素,可以严格匹配以区分数据类型。

借用对象属性方法,将数组中的元素添加为对象的属性。遍历数组元素的时候查询对象是否已经有该属性,如果有则不重复添加。

借用正则匹配的方法,将新数组转换为字符串。原数组中的每个元素与在字符串中查找,如果匹配到,则不添加。

使用js新特性的Map对象,使用键值对的方式修改第二种方法。或者利用Set对象,自动过滤掉重复项,而且可以判断数据类型。

直接给一个新的数组里面,利用es6的延展运算符

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。item是当前元素的值,index是当前元素的索引值。indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。利用indexOf() 查询到数组的下标,看是否等于当前的下标,相等的话就返回,否则不返回值。

5、借助新数组 通过 indexOf 方法判断当前元素在数组中的索引,如果与循环的下标相等则添加到新数组中

6、利用双重for循环

7、利用includes实现数组去重

以上就是比较常用的七种方法了,有不懂的留言吧。

js set去重是指什么?一起来看看吧:

Set是一种类似于Map的数据结构,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key,这种特性就起到数据去重的效果,重复的数据不会被写入到set中。

1、set创建

let sets = new Set()//创建一个空的SET                              Set {} let sets1 = new Set([1,2,3,4])//可以传入数组-数组转set     Set { 1, 2, 3, 4 } let sets2 = new Set([1,2,2,4])//重复数据不会添加到set中  Set { 1, 2, 4 }

可以利用构造函数可以传入数组的特性,用来给数组去重。即第三种示例。

2、set加入或删除key *** 作

sets.add(1,2,5)//Set { 1 }    只能加入第一个 sets.add(5)//Set { 1, 5 }      加入一个key(5) sets.add(5)//Set { 1, 5 }      重复加入无效 sets.delete(1)//Set { 5 }      删除一个key(5) sets.delete(1)//Set { 5 }      重复删除无效

3、set转数组

let array = Array.from(sets1)//[ 1, 2, 3, 4 ] 使用Array 提供的from方法 msgId = Array.from(new Set(msgId))//数组去重


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11673066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存