javascript數組去重


知識點:
1. indexOf() 返回某個指定的字符串值在字符串中首次出現的位置,如果沒有找到返回-1。需要注意的是**區分大小寫**

"Blue Whale".indexOf("Blue"); // returns 0
"Blue Whale".indexOf("blue") // returns -1
"Blue Whale".indexOf("Whale", 5); // returns 5 

2. push() 向數組的末尾添加一個或多個元素,並返回新的長度。需要注意的是**新元素將添加在數組的末尾**,並且此方法**改變數組的長度**。

具體實現如下

var arr = ['abc','abcd',333,'sss','2','d',111,'t','2','ss','f','22','d',111];
//創建一個新數組
var arr_1=[];
//遍歷數組
for(var i=0;i<arr.length;i++) {
if (arr_1.indexOf(arr[i]) == -1) {
arr_1.push(arr[i]); //判斷在arr_1數組中是否存在,不存在則push到arr_1數組中
}
}
console.log(arr_1); //輸出結果["abc", "abcd", 333, "sss", "2", "d", 111, "t", "ss", "f", "22"]

3. 還可以用es6新增的Set來實現,Set是一種數據結構,它和數組非常相似,但是成員的值都是唯一的。我們可以先把它轉化成Set,再配合...解構運算符重新轉化為數組,達到去重的目的。

具體實現如下

const arr = [1, 1, 2, 2, 3, 4, 5, 5];
const arr_1 = [...new Set(arr)];
console.log(arr_1); // 輸出[1, 2, 3, 4, 5]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM