陣列去重建議直接使用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 二維陣列的重複項 對於二維陣列咱們分兩種情況討論,一種是因為某一鍵名的值不能重複,刪除重複項 另一種因為內部的一維陣列不能完全相同,而刪除重複項,下面舉例說明 因為某一鍵...