码迷,mamicode.com
首页 > 编程语言 > 详细

最实用的数组去重方法

时间:2019-11-06 23:00:02      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:实用   数字   from   undefined   fun   color   示例   数据   元素   

1. 数组元素全部是原始类型

实用Set数据结构进行去重;因为Set数据结构本身要求值唯一。

[...new Set(arr)]
// 或者
Array.from(arr)

而且该方法中+0/-0认为是同一个值;NaN等于自身,被去重。

示例:

// 对于数字,布尔值,字符串,null, undefined,NaN, +0,-0都可以去重
[...new Set([1,1,true,true,‘1‘,‘1‘,+0,-0,NaN, NaN, null, null, undefined, undefined])]
// [1,true,‘1‘,0,NaN,null,undefined]

而任何两个对象都不相同,因为储存地址不同。不能通过Set结构去重。

因为,数组、函数、正则表达式、Date对象等都是特殊形式的对象,所以也不能被去重。

[...new Set([/a/, /a/])]; //[/a/,/a/]
const date = new Set([new Date(‘2019-09-09‘), new Date(‘2019-09-09‘)]) // data.size=2
[...new Set([[1], [1]])]; // [[1], [1]]
[...new Set([function(){}, function(){}])]; // [f,f]

 

最实用的数组去重方法

标签:实用   数字   from   undefined   fun   color   示例   数据   元素   

原文地址:https://www.cnblogs.com/lyraLee/p/11808992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!