五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
常州市| 大英县| 上栗县| 澄城县| 屯门区| 涿鹿县| 镇原县| 永胜县| 古丈县| 浑源县| 鹤庆县| 浦城县| 桐城市| 泰州市| 南丰县| 永吉县| 大新县| 循化| 四平市| 天等县| 墨竹工卡县| 宣武区| 巢湖市| 北川| 修水县| 尚志市| 西昌市| 阳原县| 军事| 彰武县| 镇赉县| 汤原县| 定安县| 思南县| 旬阳县| 新乡市| 六安市| 拉孜县| 潼关县| 枣庄市| 松滋市|