假設(shè)有數(shù)組 array = [1,5,2,3,4,2,3,1,3,4]
你要寫(xiě)一個(gè)函數(shù) unique,使得
unique(array) 的值為 [1,5,2,3,4]
也就是把重復(fù)的值都去掉,只保留不重復(fù)的值。
要求:不要做多重循環(huán),只能遍歷一次,請(qǐng)給出兩種方案,一種能在 ES 5 環(huán)境中運(yùn)行,一種能在 ES 6 環(huán)境中運(yùn)行(提示 ES 6 環(huán)境多了一個(gè) Set 對(duì)象)
方案一:
var array =[1,5,2,3,4,2,3,1,3,4]
function unique(ar) {
var tmp = {},
ret = [];
for (var i = 0, j = ar.length; i < j; i++) {
if (!tmp[ar[i]]) {
tmp[ar[i]] = 1;
ret.push(ar[i]);
}
}
console.log(ret)
}
unique(array)
方案二:
var array = [1,5,2,3,4,2,3,1,3,4]
function unique(arr){
return Array.from(new Set(arr))
}
unique(array)