1.1.遍歷數(shù)組法
最簡單的去重方法歹袁, 實(shí)現(xiàn)思路:新建一新數(shù)組移斩,遍歷傳入數(shù)組谷异,值不在新數(shù)組就加入該新數(shù)組中庸疾;注意點(diǎn):判斷值是否在數(shù)組的方法“indexOf”是ECMAScript5 方法轿腺,IE8以下不支持
// 判斷瀏覽器是否支持indexOf 兼贸,indexOf 為ecmaScript5新方法 IE8以下(包括IE8, IE8只支持部分ecma5)不支持
if (!Array.prototype.indexOf){
// 新增indexOf方法
Array.prototype.indexOf = function(item){
var result = -1, a_item = null;
if (this.length == 0){
return result;
}
for(var i = 0, len = this.length; i < len; i++){
a_item = this[i];
if (a_item === item){
result = i;
break;
}
}
return result;
}
}
2.3.數(shù)組下標(biāo)判斷法
還是得調(diào)用“indexOf”性能跟方法1差不多吃溅,實(shí)現(xiàn)思路:如果當(dāng)前數(shù)組的第i項(xiàng)在當(dāng)前數(shù)組中第一次出現(xiàn)的位置不是i溶诞,那么表示第i項(xiàng)是重復(fù)的,忽略掉决侈。否則存入結(jié)果數(shù)組螺垢。
雖然原生數(shù)組的"sort"方法排序結(jié)果不怎么靠譜,但在不注重順序的去重里該缺點(diǎn)毫無影響赖歌。
實(shí)現(xiàn)思路:給傳入數(shù)組排序枉圃,排序后相同值相鄰,然后遍歷時(shí)新數(shù)組只加入不與前一值重復(fù)的值庐冯。
實(shí)現(xiàn)思路:獲取沒重復(fù)的最右一值放入新數(shù)組孽亲。(檢測到有重復(fù)值時(shí)終止當(dāng)前循環(huán)同時(shí)進(jìn)入頂層循環(huán)的下一輪判斷)