javascript數組去重

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

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

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

具體實現以下es6

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]
相關文章
相關標籤/搜索