摘要:簡介是中新的對象,今日偶然接觸發現利用它可以迅速為數組去重,只需要兩行代碼集合對象允許你存儲任意類型的唯一值不能重復,無論它是原始值或者是對象引用。
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爽到了,所以才寫下這篇文章。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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...
閱讀 3018·2023-04-25 20:22
閱讀 3335·2019-08-30 11:14
閱讀 2590·2019-08-29 13:03
閱讀 3178·2019-08-26 13:47
閱讀 3218·2019-08-26 10:22
閱讀 1263·2019-08-23 18:26
閱讀 609·2019-08-23 17:16
閱讀 1908·2019-08-23 17:01