陣列去重,這個知識點很重要,很多面試的地方都會問這個這個問題,我總結了一下
第一種方法 ,最基本的去重方法,
var arr =[1
,2,5
,8,9
,6,3
,4,0
,4,7
,5,2
,0,3
];function
unique
(arr)}if
(!repeat)
}return res;
} console.
log(
unique
(arr));
//(10) [1, 2, 5, 8, 9, 6, 3, 4, 0, 7]
每一步進行解釋:
function
unique
(arr)
}// 上面的**執行完之後如果 repeat 為true的話,說明相等,如果不想等的話,這個repeat就是false 取反就是 true ,將迴圈到的舊陣列中的這個數推送到,新陣列中,然後,在此迴圈if(
!repeat)
}return res;
} console.
log(
unique
(arr)
);
先排序在進行去重
var arr =[1
,2,5
,8,9
,6,3
,4,0
,4,7
,5,2
,0,3
];function
unique
(arr)
}return res;};
console.
log(
unique
(arr));
每一步進行解釋:
var arr =[1
,2,5
,8,9
,6,3
,4,0
,4,7
,5,2
,0,3
];function
unique
(arr)
}return res;};
console.
log(
unique
(arr));
-->[0
,1,2
,3,4
,5,6
,7,8
,9]
利用物件的屬性進行去重 :
var arr =[1
,2,5
,8,9
,6,3
,4,0
,4,7
,5,2
,0,3
];function
unique
(arr)
;for
(var i =
0; i < arr.length; i++)}
return res;
} console.
log(
unique
(arr));
每一步進行解釋:
var arr =[1
,2,5
,8,9
,6,3
,4,0
,4,7
,5,2
,0,3
];function
unique
(arr)
;for
(var i =
0; i < arr.length; i++)}
return res;
} console.
log(
unique
(arr)
);
利用下標進行查詢 :
function
unique
(arr)
}return newarr;
} console.
log(
unique
(arr)
);
進過實驗,上面**沒有什麼問題,如果有問題,請指出!! js 陣列去重的幾種方法
問題 隨機10個不相同的數 數值範圍11 25之間的 並且存放到陣列中 函式 隨機生成乙個從min到max的數 function randfn min,max 方法1 遍歷已存入的數和當前隨機的數比較,引入開關判斷是否存放 var arr for var i 0 i 10 i if flag con...
js陣列去重的幾種方法
js陣列去重的幾種常見方法 哎,面試的時候好多時候要做題,這也是常見題目,讓寫乙個陣列去重方法,我網上找了一些,存下來供自己學習,畢竟也不是科班出身 一 簡單的去重方法 最簡單陣列去重法 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 ie8以下不支援陣列的indexof方法 fun...
js陣列去重的幾種方法
利用indexof判斷新陣列 傳入陣列 function unique1 arr return tmparr 複製 利用indexof判斷舊陣列 function unique2 arr return tmparr 複製 利用hash查詢 function unique3 arr hash為hash...