第一種: 雙重迴圈
雙層迴圈,外層迴圈元素,內層迴圈時比較值
如果有相同的值則跳過,不相同則push進陣列
/*function norepeat(arr)}}
return arr;
}*
第二種: 用splice直接在原陣列進行操作var arr=[11,22,2,2,3,4,55,5,4,4,3];
arr.sort();
//alert(arr);
for(var i=0;i方法三:結合物件和陣列來去重function norepeat(arr);
var newarr = ;
for(var i = 0; i < arr.length; i++)
}return newarr;
}
方法四:陣列遞迴去重運用遞迴的思想
先排序,然後從最後開始比較,遇到相同,則刪除
array.prototype.distinct = function ())
function loop(index)
loop(index - 1); //遞迴loop函式進行去重
} }loop(len-1);
return arr;
};var a = [1,2,3,4,5,6,5,3,2,4,56,4,1,2,1,1,1,1,1,1,56,45,56];
var b = a.distinct();
console.log(b.tostring()); //1,2,3,4,5,6,45,56
方法五:利用indexof以及foreachvar arr = [1,1,1,2,2,1];
function norepeat(arr)
}return newarr;
}var newarr=
for(var i in arr)
}console.log(newarr);
方法六:利用es6的setset資料結構,它類似於陣列,其成員的值都是唯一的。
利用array.from將set結構轉換成陣列
var arr = [1,1,2,2,3];
let set = new set(arr);
arr = [...set];
console.log(arr);
//for of 是一種新的遍歷方式 set map array string 不能遍歷普通物件
for(let i of set)
原生JS 陣列去重的六種方式
第一種 雙重迴圈雙層迴圈,外層迴圈元素,內層迴圈時比較值 如果有相同的值則跳過,不相同則push進陣列 function norepeat arr return arr 第二種 用splice直接在原陣列進行操作var arr 11,22,2,2,3,4,55,5,4,4,3 arr.sort al...
陣列去重個人總結的六種方式
1 1.利用es6的set函式 let arr 1,2,3,4,5,3,5,6,2 let a new set arr let b a console.log b 1,2,3,4,5,6 1 2.利用陣列的過濾方式 let arr 1,2,3,4,5,3,5,6,2 let b arr.filter...
JS陣列去重的六種方法
一 利用es6 set去重 es6中最常用 function unique arr var arr 1,1,true true true,true,15,15,false,false,undefined,undefined,null,null,nan,nan,nan 0,0,a a console....