摘要:簡介是中新的對(duì)象,今日偶然接觸發(fā)現(xiàn)利用它可以迅速為數(shù)組去重,只需要兩行代碼集合對(duì)象允許你存儲(chǔ)任意類型的唯一值不能重復(fù),無論它是原始值或者是對(duì)象引用。
Set簡介
Set是ES6中新的對(duì)象,今日偶然接觸,發(fā)現(xiàn)利用它可以迅速為數(shù)組去重,只需要兩行代碼!
使用示例集合(Set)對(duì)象允許你存儲(chǔ)任意類型的唯一值(不能重復(fù)),無論它是原始值或者是對(duì)象引用。
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已經(jīng)被移除 mySet.size; // 2, 我們剛剛移除了一個(gè)值
簡單來說,Set于Array的區(qū)別在于:Array中允許出現(xiàn)重復(fù)的元素,例如[1,2,2,3];而Set中的所有元素都是唯一的,只能是{1,2,3}。利用這一特性,我們就可以迅速地去掉數(shù)組中重復(fù)的元素。
數(shù)組去重廢話不多說,直接看代碼:
var arr = [1,2,2,3,4] // 需要去重的數(shù)組 var set = new Set(arr) // {1,2,3,4} var newArr = Array.from(set) // 再把set轉(zhuǎn)變成array console.log(newArr) // [1,2,3,4]
當(dāng)然數(shù)組去重的方法有許許多多,只是剛才被set爽到了,所以才寫下這篇文章。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/82564.html
摘要:專題系列第三篇,講解各種數(shù)組去重方法,并且跟著寫一個(gè)前言數(shù)組去重方法老生常談,既然是常談,我也來談?wù)劇K愃朴跀?shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。 JavaScript 專題系列第三篇,講解各種數(shù)組去重方法,并且跟著 underscore 寫一個(gè) unique API 前言 數(shù)組去重方法老生常談,既然是常談,我也來談?wù)劇?雙層循環(huán) 也許我們首先想到的是使用 indexOf 來循...
摘要:數(shù)組去重雙層循環(huán)使用雙層嵌套循環(huán)是最原始的方法用來存儲(chǔ)結(jié)果如果是唯一的,那么執(zhí)行完循環(huán),等于外層循環(huán)內(nèi)層循環(huán)當(dāng)和相等時(shí),跳出循環(huán)。否則說明元素唯一,這時(shí)成立,將此元素添加到中。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。 JavaScript數(shù)組去重 雙層循環(huán) 使用雙層嵌套循環(huán)是最原始的方法: var array = [a,b,a]; function unique(arra...
摘要:后面的方法中的源數(shù)組,都是指的這個(gè)。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。這貌似是目前看來最完美的解決方案了。所以稍加改變?cè)磾?shù)組,給兩個(gè)空對(duì)象中加入鍵值對(duì)。 showImg(https://segmentfault.com/img/bVbpfjp?w=750&h=422); 前言 這是前端面試題系列的第 8 篇,你可能錯(cuò)過了前面的篇章,可以在這里找到: JavaScri...
摘要:面試中被問到如果一個(gè)數(shù)組中有重復(fù)元素,用什么方法可以去重想了想貌似方法還不少,現(xiàn)在就總結(jié)一下。用集合實(shí)現(xiàn)輸出結(jié)果用集合實(shí)現(xiàn)數(shù)組類型為包裝類類型數(shù)組類型為基本數(shù)據(jù)類型輸出結(jié)果可以看到不進(jìn)去除了重復(fù)數(shù)據(jù),而且還將數(shù)據(jù)進(jìn)行了排序。 面試中被問到:如果一個(gè)數(shù)組中有重復(fù)元素,用什么方法可以去重?想了想貌似方法還不少,現(xiàn)在就總結(jié)一下。 1. 用List集合實(shí)現(xiàn) public static void...
摘要:工作過程中經(jīng)常會(huì)用到數(shù)組去重,用到的時(shí)候往往一時(shí)想不到好方法,所以這里來總結(jié)一下去重方法。和方法分別為添加成員方法和得到鍵值方法。因此,利用方法也可以實(shí)現(xiàn)數(shù)組的去重。 工作過程中經(jīng)常會(huì)用到數(shù)組去重,用到的時(shí)候往往一時(shí)想不到好方法,所以這里來總結(jié)一下去重方法。使用es6去重代碼很簡單,而且ES6已經(jīng)相當(dāng)普及了。所以先來介紹一下es6中的方法。 1.ES6中Map結(jié)構(gòu)方法 function...
閱讀 3034·2023-04-25 20:22
閱讀 3348·2019-08-30 11:14
閱讀 2600·2019-08-29 13:03
閱讀 3189·2019-08-26 13:47
閱讀 3231·2019-08-26 10:22
閱讀 1277·2019-08-23 18:26
閱讀 626·2019-08-23 17:16
閱讀 1922·2019-08-23 17:01