摘要:简介是中新的对象,今日偶然接触发现利用它可以迅速为数组去重,只需要两行代码集合对象允许你存储任意类型的唯一值不能重复,无论它是原始值或者是对象引用。
Set简介
Set是ES6中新的对象,今日偶然接触,发现利用它可以迅速为数组去重,只需要两行代码!
使用示例集合(Set)对象允许你存储任意类型的唯一值(不能重复),无论它是原始值或者是对象引用。
var mySet = new Set(); mySet.add(1); mySet.add(5); mySet.add("some text"); mySet.has(1); // true mySet.has(3); // false, 3还没有被添加到set中 mySet.has(5); // true mySet.has(Math.sqrt(25)); // true mySet.has("Some Text".toLowerCase()); // true mySet.size; // 3 mySet.delete(5); // 从set中移除5 mySet.has(5); // false, 5已经被移除 mySet.size; // 2, 我们刚刚移除了一个值
简单来说,Set于Array的区别在于:Array中允许出现重复的元素,例如[1,2,2,3];而Set中的所有元素都是唯一的,只能是{1,2,3}。利用这一特性,我们就可以迅速地去掉数组中重复的元素。
数组去重废话不多说,直接看代码:
var arr = [1,2,2,3,4] // 需要去重的数组 var set = new Set(arr) // {1,2,3,4} var newArr = Array.from(set) // 再把set转变成array console.log(newArr) // [1,2,3,4]
当然数组去重的方法有许许多多,只是刚才被set爽到了,所以才写下这篇文章。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/82564.html
摘要:专题系列第三篇,讲解各种数组去重方法,并且跟着写一个前言数组去重方法老生常谈,既然是常谈,我也来谈谈。它类似于数组,但是成员的值都是唯一的,没有重复的值。 JavaScript 专题系列第三篇,讲解各种数组去重方法,并且跟着 underscore 写一个 unique API 前言 数组去重方法老生常谈,既然是常谈,我也来谈谈。 双层循环 也许我们首先想到的是使用 indexOf 来循...
摘要:数组去重双层循环使用双层嵌套循环是最原始的方法用来存储结果如果是唯一的,那么执行完循环,等于外层循环内层循环当和相等时,跳出循环。否则说明元素唯一,这时成立,将此元素添加到中。它类似于数组,但是成员的值都是唯一的,没有重复的值。 JavaScript数组去重 双层循环 使用双层嵌套循环是最原始的方法: var array = [a,b,a]; function unique(arra...
摘要:后面的方法中的源数组,都是指的这个。它类似于数组,但是成员的值都是唯一的,没有重复的值。这貌似是目前看来最完美的解决方案了。所以稍加改变源数组,给两个空对象中加入键值对。 showImg(https://segmentfault.com/img/bVbpfjp?w=750&h=422); 前言 这是前端面试题系列的第 8 篇,你可能错过了前面的篇章,可以在这里找到: JavaScri...
摘要:面试中被问到如果一个数组中有重复元素,用什么方法可以去重想了想貌似方法还不少,现在就总结一下。用集合实现输出结果用集合实现数组类型为包装类类型数组类型为基本数据类型输出结果可以看到不进去除了重复数据,而且还将数据进行了排序。 面试中被问到:如果一个数组中有重复元素,用什么方法可以去重?想了想貌似方法还不少,现在就总结一下。 1. 用List集合实现 public static void...
摘要:工作过程中经常会用到数组去重,用到的时候往往一时想不到好方法,所以这里来总结一下去重方法。和方法分别为添加成员方法和得到键值方法。因此,利用方法也可以实现数组的去重。 工作过程中经常会用到数组去重,用到的时候往往一时想不到好方法,所以这里来总结一下去重方法。使用es6去重代码很简单,而且ES6已经相当普及了。所以先来介绍一下es6中的方法。 1.ES6中Map结构方法 function...
阅读 2989·2023-04-25 20:22
阅读 3305·2019-08-30 11:14
阅读 2560·2019-08-29 13:03
阅读 3155·2019-08-26 13:47
阅读 3187·2019-08-26 10:22
阅读 1239·2019-08-23 18:26
阅读 541·2019-08-23 17:16
阅读 1880·2019-08-23 17:01