最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JavaScript中數(shù)組去重的12種方法

2022-07-02 11:11 作者:朵寶特工007  | 我要投稿

1、使用for循環(huán)嵌套,splice去重(ES5中最常用)

將數(shù)組中的每一個(gè)元素依次與其他元素作比較,發(fā)現(xiàn)重復(fù)元素,刪除。

2、使用indexOf()去重

indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。

如果沒(méi)有找到匹配的字符串則返回 -1。

注意:?indexOf() 方法區(qū)分大小寫(xiě)。

新建一個(gè)空的結(jié)果數(shù)組,for循環(huán)原數(shù)組,判斷結(jié)果數(shù)組是否存在當(dāng)前元素,如果有相同的值則跳過(guò),不相同則push進(jìn)數(shù)組。

3、使用數(shù)組中的filter()方法

4、使用空對(duì)象來(lái)記錄新數(shù)組中已經(jīng)存儲(chǔ)過(guò)的元素

利用對(duì)象的屬性不能相同的特點(diǎn)點(diǎn)進(jìn)行去重。(這種數(shù)組去重的方法有問(wèn)題,不建議用,有待改進(jìn))

5、使用Set()去重(ES6中最常用)

Set:不包含重復(fù)元素的值的集合。

Map:雙列集合,鍵值對(duì)。

Map與Object的區(qū)別:Object中的key只能是String類(lèi)型,而Map可以是任意數(shù)據(jù)類(lèi)型。

這種方法無(wú)法去掉“{}”空對(duì)象。

6、利用sort()去重

sort() 方法用于對(duì)數(shù)組的元素進(jìn)行排序。

排序順序可以是字母或數(shù)字,并按升序或降序。

默認(rèn)排序順序?yàn)榘醋帜干颉?/p>

注意:當(dāng)數(shù)字是按字母順序排列時(shí)"40"將排在"5"前面。

使用數(shù)字排序,你必須通過(guò)一個(gè)函數(shù)作為參數(shù)來(lái)調(diào)用。

函數(shù)指定數(shù)字是按照升序還是降序排列。

注意:?這種方法會(huì)改變?cè)紨?shù)組!

利用sort()排序方法,然后根據(jù)排序后的結(jié)果進(jìn)行遍歷及相鄰元素比對(duì)。

7、使用includes去重(ES7)

includes() 方法用于判斷字符串是否包含指定的子字符串。

如果找到匹配的字符串則返回 true,否則返回 false。

注意:?includes() 方法區(qū)分大小寫(xiě)。

8、利用hasOwnProperty去重

hasOwnProperty() 方法是 Object 的原型方法(也稱實(shí)例方法),它定義在 Object.prototype 對(duì)象之上,所有 Object 的實(shí)例對(duì)象都會(huì)繼承 hasOwnProperty() 方法。
hasOwnProperty() 方法用來(lái)檢測(cè)一個(gè)屬性是否是對(duì)象的自有屬性,而不是從原型鏈繼承的。如果該屬性是自有屬性,那么返回 true,否則返回 false。換句話說(shuō),hasOwnProperty() 方法不會(huì)檢測(cè)對(duì)象的原型鏈,只會(huì)檢測(cè)當(dāng)前對(duì)象本身,只有當(dāng)前對(duì)象本身存在該屬性時(shí)才返回true。

9、利用遞歸去重

10、利用Map數(shù)據(jù)結(jié)構(gòu)去重

創(chuàng)建一個(gè)空Map數(shù)據(jù)結(jié)構(gòu),遍歷需要去重的數(shù)組,把數(shù)組的每一個(gè)元素作為key存到Map中,由于Map中不會(huì)出現(xiàn)相同的key值,所以最終得到的就是去重后的結(jié)果。

11、利用 reduce 去重(適合累加、累乘)

12、[…new Set(arr)]去重

第五種簡(jiǎn)化版。



JavaScript中數(shù)組去重的12種方法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
温宿县| 竹溪县| 松潘县| 宜丰县| 康定县| 分宜县| 弋阳县| 普兰县| 德格县| 巴东县| 正定县| 洪洞县| 新田县| 普洱| 大英县| 桃园县| 固镇县| 措勤县| 樟树市| 弥勒县| 密山市| 北票市| 山西省| 沾益县| 宁德市| 南召县| 彭山县| 高清| 道真| 邵阳县| 泗洪县| 平果县| 玉屏| 上犹县| 罗城| 咸阳市| 枣阳市| 泽普县| 射阳县| 开化县| 三穗县|