JavaScript 數(shù)組去重
1.第一種是比較常見(jiàn)的方法
思路:
- 構(gòu)建一個(gè)數(shù)組存放去重結(jié)果
- for 循環(huán)每次從元數(shù)組中取出一個(gè)元素寥掐,用這個(gè)元素循環(huán)與結(jié)果數(shù)組比較
- 若結(jié)果數(shù)組中沒(méi)有該元素函匕,則添加到去重?cái)?shù)組中
//js代碼
let res = [];
let arr = [1,2,1,33,55,33,1,2,10,55]
for (let i = 0; i< arr.length;i++){
//開(kāi)關(guān)思想
let repeat = false;
for(let j=0;j<res.length;j++){
//重復(fù)數(shù)組和去重?cái)?shù)組比較以清,如果為 true 把 repeat 設(shè)為 true
if(arr[i] == res[i]){
repeat = true;
break;
}
}
// 如果 repeat 為 false 泡躯;則添加到去重?cái)?shù)組中
if(!repeat){
res.push(arr[i])
}
}
- 第二種是用
indexOf()
方法來(lái)去重
思路:
- 構(gòu)建一個(gè)數(shù)組存放去重結(jié)果
- 遍歷重復(fù)數(shù)組
- 如果
indexOf
返回值是 -1 的話(huà)就添加到 res 數(shù)組中
let arr = [有重復(fù)的數(shù)組] // 假數(shù)據(jù)
let res = []; // 存放去重?cái)?shù)組
//遍歷
for(let i = 0;i<arr.length;i++){
if(res.indexOf(arr[i]) == -1){
res.push(arr[i])
}
}
console.log(res);