js數(shù)組中去除重復(fù)值的幾種方法
在日常開發(fā)中,我們可能會遇到將一個數(shù)組中里面的重復(fù)值去除,那么,我就將我自己所學(xué)習(xí)到的幾種方法分享出來
去除數(shù)組重復(fù)值方法:
1,利用indexOf()方法去除
思路:創(chuàng)建一個新數(shù)組,然后循環(huán)要去重的數(shù)組,然后用新數(shù)組去找要去重數(shù)組的值,如果找不到則使用.push添加到新數(shù)組,最后把新數(shù)組返回回去就行了
看不懂沒關(guān)系,上代碼就比較容易懂了
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)遍歷數(shù)組,內(nèi)層循環(huán)比較值,如果有相同, 則使用splice去除 然后返回處理完的數(shù)組即可
看不懂沒關(guān)系,上代碼就比較容易懂了
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 集合,他跟數(shù)組很相識,但不是數(shù)組,是集合。他里面也有跟多方法,如增(add),刪(delete),查(has)等等。
他最重要的特點是:元素不能重復(fù),即在Set集合不會出現(xiàn)相同的元素
Set去重方案1:
思路:因為Set集合里面不允許出現(xiàn)重復(fù)值,那我們就可以利用這個特點將我們的數(shù)組傳進去去重
首先new一個Set集合將要去重的數(shù)組作為參數(shù)傳進去,然后創(chuàng)建一個新數(shù)組,循環(huán)遍歷一下集合,將每個集合元素添加到新數(shù)組,最后將新數(shù)組返回即可
function fun(arr){
let s1 = new Set(arr);
let arr2 = [];
for(let item of s1){
arr2.push(item);
}
return arr2;
}
Set去重方案2(使用數(shù)組方法Array.form()):
思路:Array.from(); 能夠把偽數(shù)組,集合轉(zhuǎn)成數(shù)組類型,這個方法配合上Set集合就剛好符合我們的需求
function fun(arr){
let s1 = new Set(arr);
return Array.from(s1);
}
Set去重方案3(使用es6展開運算符...):
思路:es6展開運算符能夠?qū)⒁粋€數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列
function fun(arr){
let s1 = new Set(arr);
return [...s1];
}
以上就是js數(shù)組中去除重復(fù)值的幾種方法的詳細內(nèi)容,更多關(guān)于js數(shù)組去除重復(fù)值的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript利用正則表達式替換字符串中的內(nèi)容
本文主要介紹了JavaScript利用正則表達式替換字符串中內(nèi)容的具體實現(xiàn)方法,并做了簡要注釋,便于理解。具有一定的參考價值,需要的朋友可以看下2016-12-12
JavaScript高級程序設(shè)計(第三版)學(xué)習(xí)筆記6、7章
這篇文章主要介紹了JavaScript高級程序設(shè)計(第三版)學(xué)習(xí)筆記6、7章 的相關(guān)資料,需要的朋友可以參考下2016-03-03
JavaScript躲避行星游戲?qū)崿F(xiàn)全程
本文將使用 canvas 創(chuàng)建一個躲避小行星游戲。另外將重點介紹的兩個方面是:如何使用 JavaScript 來檢測鍵盤輸入,以及如何在游戲中使用和處理 HTML5 音頻。希望你能夠喜歡2022-08-08
關(guān)于js中window.location.href,location.href,parent.location.href
關(guān)于js中window.location.href,location.href,parent.location.href,top.location.href的用法2010-10-10
JS中國標(biāo)準(zhǔn)時間轉(zhuǎn)化為年月日時分秒'yyyy-MM-dd hh:mm:ss'的示例詳解
這篇文章主要介紹了JS中國標(biāo)準(zhǔn)時間轉(zhuǎn)化為年月日時分秒‘yyyy-MM-dd hh:mm:ss‘的相關(guān)知識,通過示例代碼介紹了,Js各種時間轉(zhuǎn)換問題(YYYY-MM-DD 時間戳 中國標(biāo)準(zhǔn)時間),需要的朋友可以參考下2024-02-02

