快捷搜索:  汽车  科技

js数组里面的对象怎样去重(快速给出五种数组去重的方法)

js数组里面的对象怎样去重(快速给出五种数组去重的方法)注意,NaN没有去重掉,因为NaN!=NaN。同时空对象也没有去重。不要担心,总会有去掉的那一刻。输出:[1 "true" undefined NaN NaN "NaN" 0 "a" {} {}]测试数组可以是纯数字类型的情况,也可以是复杂数据类型的情况。测试数组如下。let arr = [1 1 'true' 'true' true true undefined undefined null null NaN NaN 'NaN' 0 0 'a' 'a' {} {}] 方法一,利用Set方法来处理输出:[1 'true' true undefined null NaN 'NaN' 0 'a' {} {}]注意一下,这个方法并没有将空对象给去重掉。不要担心,总会有去掉的那一刻。

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

在JavaScript中,数组去重的问题,在什么时候会碰到,第一,写代码的时候。第二,面试的时候。记得有一次和同事一起吃饭的时候,也讨论过这个问题,当时就是轮流说一思路,一来我去的,竟然发现,原来现在数组去重有这么多种方法。

那么,今天,就来列一下数组去重的多种方法。由于时间关系,先列五种,另外四到五种下篇来续。

准备测试数组

测试数组可以是纯数字类型的情况,也可以是复杂数据类型的情况。测试数组如下。

let arr = [1 1 'true' 'true' true true undefined undefined null null NaN NaN 'NaN' 0 0 'a' 'a' {} {}] 方法一,利用Set方法来处理

js数组里面的对象怎样去重(快速给出五种数组去重的方法)(1)

输出:[1 'true' true undefined null NaN 'NaN' 0 'a' {} {}]

注意一下,这个方法并没有将空对象给去重掉。不要担心,总会有去掉的那一刻。

方法二,循环中使用splice去重

js数组里面的对象怎样去重(快速给出五种数组去重的方法)(2)

输出:[1 "true" undefined NaN NaN "NaN" 0 "a" {} {}]

注意,NaN没有去重掉,因为NaN!=NaN。同时空对象也没有去重。不要担心,总会有去掉的那一刻。

方法三,老朋友indexOf登场

js数组里面的对象怎样去重(快速给出五种数组去重的方法)(3)

输出:[1 "true" undefined NaN NaN "NaN" 0 "a" {} {}]

同样NaN和空对象没有去重掉。不要担心,总会有去掉的那一刻。

方法四,利用sort提前处理

js数组里面的对象怎样去重(快速给出五种数组去重的方法)(4)

输出:[0 1 NaN NaN "NaN" {} {} "a" "true" undefined]

先用sort将数据进行排序,然后将排序后的结果进行遍历相邻元素比对,同样NaN和空对象没有去重掉。不要担心,总会有去掉的那一刻。

方法五,对象属性不能相同特性

js数组里面的对象怎样去重(快速给出五种数组去重的方法)(5)

输出:[0 1 NaN {} "a" "true" undefined]

这种处理方式,将所有类型数据都去重了。不用在担心有去不了重的数据类型了。

最后总结一下:

数组去重,并不只这些方法,还有一些其他的思路。下篇继续给大家分析。

猜您喜欢: