js jquery陣列去重

2022-06-21 19:54:12 字數 2098 閱讀 1739

陣列去重建議直接使用jquery的 $.unique(arr);方法,此外比較好的方法是本文中的unique3方法比較快用了乙個hash表,就是所謂的空間換時間。本文還提供了很多其他寫法,都是大同小異.

// $.unique(arr)推薦

var arr = [1, 'a', 2, 'b', 'b', 3, 'c', 'c', 'c'];

document.write("jq-unique(): " + $.unique(arr) + "

"); //

1,a,2,b,3,c

//使用$.inarray(arr[i], new_arr),判斷是否在新陣列中

var jqunique3 = function

(arr)

}return

new_arr;

}var arr = [1, 'a', 2, 'b', 'b', 3, 'c', 'c', 'c'];

document.write("jq-unique3(): " + jqunique3(arr) + "

"); //

1,a,2,b,3,c

//設定標誌位

array.prototype.unique1 = function

() }

if(!repeat)

}return

new_arr;

}var arr = [1, 'a', 2, 'b', 'b', 3, 'c', 'c', 'c'];

document.write("js-unique1(): " + arr.unique1() + "

"); //

1,a,2,b,3,c

//先排序再判斷

//有一定的侷限性,因為在去重前進行了排序,所以最後返回的去重結果也是排序後的。如果要求不改變陣列的順序去重,那這種方法便不可取了。

array.prototype.unique2 = function

() }

return

new_arr;

}var arr = [1, 'a', 2, 'b', 'b', 3, 'c', 'c', 'c'];

document.write("js-unique2(): " + arr.unique2() + "

"); //

1,2,3,a,b,c

// 使用hash表,推薦

array.prototype.unique3 = function

() ; //

建立乙個空物件

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

}return

new_arr;

}var arr = [1, 'a', 2, 'b', 'b', 3, 'c', 'c', 'c'];

document.write("js-unique3(): " + arr.unique3() + "

"); //

1,a,2,b,3,c

//indexof 判斷新陣列中是否已存在

array.prototype.unique4 = function

()

return

new_arr;

}var arr = [1, 'a', 2, 'b', 'b', 3, 'c', 'c', 'c'];

document.write("js-unique4(): " + arr.unique4() + "

"); //

1,a,2,b,3,c

//indexof 判斷當前陣列的第i項在當前陣列中第一次出現的位置是不是i

array.prototype.unique5 = function

()

return

new_arr;

}var arr = [1, 'a', 2, 'b', 'b', 3, 'c', 'c', 'c'];

document.write("js-unique5(): " + arr.unique5() + "

"); //

1,a,2,b,3,c

JS陣列去重,物件去重

例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...

js陣列去重以及陣列內物件去重

大家在寫專案的時候一定遇到過這種邏輯需求,就是給乙個陣列進行去重處理,還有一種就是給陣列內的物件根據某乙個屬性,比如id,進行去重,下面我寫了兩個函式,都是可以達到這個效果的,乙個是純es5的去重辦法,乙個是用了es6的array.from new set 和es5的reduce來進行去重 我先定義...

php 陣列去重

一維陣列的重複項 使用array unique函式即可,使用例項如下 bb array unique aa print r bb 二維陣列的重複項 對於二維陣列咱們分兩種情況討論,一種是因為某一鍵名的值不能重複,刪除重複項 另一種因為內部的一維陣列不能完全相同,而刪除重複項,下面舉例說明 因為某一鍵...