溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript數組如何去重復

發(fā)布時間:2021-04-09 10:50:09 來源:億速云 閱讀:219 作者:小新 欄目:web開發(fā)

小編給大家分享一下javascript數組如何去重復,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

javascript數組去重復的方法:1、利用“indexOf()”方法去除重復值;2、利用splice方法去除重復值;3、利用es6新增的集合Set去除重復值。

js數組中去除重復值的幾種方法

在日常開發(fā)中,我們可能會遇到將一個數組中里面的重復值去除,那么,我就將我自己所學習到的幾種方法分享出來

去除數組重復值方法:

1,利用indexOf()方法去除

思路:創(chuàng)建一個新數組,然后循環(huán)要去重的數組,然后用新數組去找要去重數組的值,如果找不到則使用.push添加到新數組,最后把新數組返回回去就行了

看不懂沒關系,上代碼就比較容易懂了

function fun(arr){
 let newsArr = [];
 for (let i = 0; i < arr.length; i++) {
  if(newsArr.indexOf(arr[i]) === -1){
   newsArr.push(arr[i]);
  }
 }
 return newsArr;
}

2,利用splice方法去除

思路:這個方法有點模仿冒泡  倆層循環(huán),外層循環(huán)遍歷數組,內層循環(huán)比較值,如果有相同, 則使用splice去除 然后返回處理完的數組即可

看不懂沒關系,上代碼就比較容易懂了

function fun(arr){
 for (let i = 0; i < arr.length; i++) {
  for(let j = i+1; j < arr.length; j++){
   if(arr[i]==arr[j]){
    arr.splice(j,1);          j--;
   }
  }
 }
 return arr;
}

3,利用es6新增的集合Set去除

這里簡單介紹一下Set 集合,他跟數組很相識,但不是數組,是集合。他里面也有跟多方法,如增(add),刪(delete),查(has)等等。

他最重要的特點是:元素不能重復,即在Set集合不會出現相同的元素

Set去重方案1:

思路:因為Set集合里面不允許出現重復值,那我們就可以利用這個特點將我們的數組傳進去去重

首先new一個Set集合將要去重的數組作為參數傳進去,然后創(chuàng)建一個新數組,循環(huán)遍歷一下集合,將每個集合元素添加到新數組,最后將新數組返回即可

function fun(arr){
 let s1 = new Set(arr);
 let arr2 = [];
 for(let item of s1){
  arr2.push(item);
 }
 return arr2;
}

Set去重方案2(使用數組方法Array.form()):

思路:Array.from(); 能夠把偽數組,集合轉成數組類型,這個方法配合上Set集合就剛好符合我們的需求

function fun(arr){
 let s1 = new Set(arr); 
 return Array.from(s1);
}

Set去重方案3(使用es6展開運算符...):

思路:es6展開運算符能夠將一個數組轉為用逗號分隔的參數序列

function fun(arr){
 let s1 = new Set(arr); 
 return [...s1];
}

以上是“javascript數組如何去重復”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI