1. 程式人生 > >JS常見的幾種陣列去重方法

JS常見的幾種陣列去重方法

總結一下JS中用到的陣列去重的方法

 方法一:

該方法利用物件的屬性值不能相同:

function arrDelLikeElement (array) {
    const result = [];
    const obj = {};
    for(let i in array){
        if(!obj[array[i]]){
            result.push(array[i]);
            obj[array[i]] = i;
        }
    }
    return result;
}
arr 
= arrDelLikeElement(arr);

方法二:

該方法使用ES6中的對映方法:

function arrayDelLikeElement(array) {
    //將傳入的陣列引數作為javascript中的建立一個Set(集合)物件的方法中的引數
    var arrSet = new Set(array);
    //定義一個空陣列用來接收集合迴圈遍歷的值
    var arrEmpty = [];
    for (const value of arrSet) {
        arrEmpty.push(value);
    }
    array
=arrEmpty; return array } arrLike = arrayDelLikeElement(arr);

方法三:

該方法使用遞迴呼叫

var arr=[1,6,1,2,2,1,3,1,3,4,5,6];
// 第一步:將陣列進行排序
arr = arr.sort(function(a,b){
    return a-b
});
// 第二步編寫遞迴函式
function mul (arr , i) {
    if(i>=1){
        if(arr[i] === arr[i-1]){
            arr.splice(i,
1); } mul(arr,(i-1)); } return arr; } mul(arr , arr.length); console.log(arr)

 

 以上方法時常用的方法,後續持續更新新的方法,如果您有更好的方法,可以留言評論,咱們互相討論!!!