一維數(shù)組
將當(dāng)前的數(shù)組進(jìn)行排序,這樣重復(fù)的元素位置相鄰
-
循環(huán)判斷是否有重復(fù)元素,有則刪除
function hasRepeat(ary) { var result = ary.sort(); for(var i=0; i<result.length-1; i++) { if (result[i] == result[i+1]){ result.splice(i,1); i--; } } return result;
}
二維數(shù)組
建立hash表, 表中第一次出現(xiàn)的哈希值都為false,若后面的數(shù)據(jù)有重復(fù)項則為true
-
所以通過循環(huán)將首次出現(xiàn)的數(shù)據(jù)都添加到一個新數(shù)組中嗅绰,最終返回這個新數(shù)組
function Distict(arr) { var hash = {}; var result = []; for(var i=0; i < arr.length; i++) { if(!hash[arr[i]]){ result.push(arr[i]); hash[arr[i]] = true; } } return result; }