js中實現陣列去重的5種方法

2021-07-04 22:09:35 字數 1014 閱讀 1565

這是在逛網頁的時候看到的方法,覺得以後會有用到的時候,就先收藏下來,這裡是自己手敲的為了加深印象

function

unique1

(array)

}return n;

}

//判斷瀏覽器是否支援indexof,indexof為ecmascript5新方法,ie8以下(包括ie8,ie8只支援部分ecma5)不支援

if(!array.prototype.indexof)

for(var i=0,len = this.length; i < len; i++)

}return result;

}}

//速度最快,占用空間最多(空間換時間)

function unique2(array), r = , len = array.length, val, type;

for(var i = 0; i < array.length; i++)else

if (n[val].indexof(type) < 0)

}return r;

}

function

unique3

(array)

}return n;

}

雖然原生陣列的」sort「方法排序結果不怎麼靠譜,但在不注重排序的去重里該缺點毫無影響。實現思路:給傳入陣列排序,排序後相同值相鄰,然後遍歷時新陣列只加入不與前一值重複的值

// 將相同的值相鄰,然後遍歷去除重複值

function

unique4

(array)

} return re;

}

// 思路:獲取沒重複的最右一值放入新陣列

function

unique5

(array)

return r;

}

陣列去重的5種方法

這種方法最簡單最直觀,也最容易理解,如下 let arr 2 8,5 0,5 2,6 7,2 6,8 9 let newarr for let i 0 i arr.length i console.log newarr 輸出結果為 2,8,5,0,6,7,9 這種方法很好理解,利用了indexof ...

js陣列去重五種方法

今天來聊一聊js陣列去重的一些方法,包括一些網上看到的和自己總結的,總共5種方法 es5 這種方法最簡單最直觀,也最容易理解,如下 var arr 2,8,5,0,5,2,6,7,2 var newarr for var i 0 i arr.length i console.log newarr 結...

js 陣列去重3種方法

js陣列去重的三種常用方法總結 第一種是比較常規的方法 思路 1.構建乙個新的陣列存放結果 2.for迴圈中每次從原陣列中取出乙個元素,用這個元素迴圈與結果陣列對比 3.若結果陣列中沒有該元素,則存到結果陣列中 複製 如下 array.prototype.unique1 function if re...