數(shù)組去重(8種方法)

第一種:Set()方法

Set本身是一個構造函數(shù),用來生成Set數(shù)據(jù)結構。

它類似于數(shù)組,但里面的成員是唯一的,不重復的。

第二種:indexOf()

indexOf()的意思:查找一個字符串中,第一次出現(xiàn)指定字符串的位置。

indexOf方法返回一個整數(shù)值,指出 string對象內子字符串的開始位置。如果沒有找到該字符串則返回-1。


第三種:includes 方法

includes? 方法會找到某一數(shù)組是否包含某元素 ?返回一個布爾

includes? 也可以用來查詢字符串中是否包含某一個元素 ? 返回的也是一個布爾值

?第四種:slice方法去重

????????Array.slice() 截取數(shù)組,將截取到的數(shù)組返回,不改變原數(shù)組。

? ? ? ? slice(num1,num2)方法可以傳入兩個參數(shù)(二者均為數(shù)組的下標)

? ? ? ? num1:開始截取數(shù)組的位置(包含該位置的元素)

? ? ? ? num2:停止截取數(shù)組的位置(不包含該位置的元素),不傳,則默認值是數(shù)組的長度length。


(1)對象去重

(2)數(shù)組去重

第五種:雙重for循環(huán)

第六種:filter與indexOf結合

filter() 方法創(chuàng)建一個新的數(shù)組,新數(shù)組中的元素是通過檢查指定數(shù)組中符合條件的所有元素。


第七種:map方法

map是js中的一種數(shù)據(jù)結構,允許存儲鍵、值對,鍵和值可以是任意類型的數(shù)據(jù),如果其中存在的鍵,值會被替換

map()方法:返回一個新數(shù)組,不會修改原數(shù)組,且不會對空數(shù)組進行檢測。

Map中的一些常用方法

1、has():檢測map對象中鍵是否存在,存在返回true,不存在返回false。

2、set():為map對象添加鍵值對,方法里里面跟兩個參數(shù)(鍵,值),如果只傳入一個參數(shù),則值為undefine。

3、get():通過鍵來獲取對應的值。

第八種:reduce方法

?reduce()方法不僅僅用于數(shù)組求和,還可以滿足增刪查改、去重、平鋪數(shù)組等需求,當reduce()方法解決每層數(shù)組的迭代拼接時,就會起到去重的作用。

? ? ? ? prev:表示上一次調用回調時的返回值,或者初始值 init;

? ? ? ? cur:表示當前正在處理的數(shù)組元素;

? ? ? ? index:表示當前正在處理的數(shù)組元素的索引,若提供 init 值,則索引為0,否則索引為1;

? ? ? ? init:表示初始值。

? ? ? ? arr:表示原數(shù)組;

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容