js連線多個陣列並刪除重複的元素
在實際應用中,可能需要將多個陣列合併到一個陣列中去,並且刪除陣列中重複的元素。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼var a=["antzone","螞蟻部落","市南區"], b=["新銳科技","螞蟻部落","努力奮鬥"], c=[2,"新銳科技","js教程"], _a=a.concat(b).concat(c), _hash={}, _new=[]; for(var i=_a.length;i--;){ if(!_hash[_a]){ _hash[_a]=1; _new.push(_a); }; }; console.log(_new)
以上程式碼實現了我們的要求,可以將三個陣列連線起來,並且刪除了重複的元素,下面介紹一下此效果的實現過程。
一.實現原理:
首先使用concat函式將幾個陣列連線在一起,然後再刪除新陣列中重複的元素,刪除重複元素的方法其實非常的簡單,就是將陣列中的元素作為物件的屬性,首先判斷物件中如果沒有此屬性,如果沒有的話,則將此值存入新的陣列,然後再將此值作為物件的屬性,如此重複,具體可以參閱程式碼註釋。
二.程式碼註釋:
1.var a=["antzone","螞蟻部落","市南區"],使用直接量方式宣告陣列。
2._a=a.concat(b).concat(c),將陣列連線為一個陣列。
3._hash={},宣告一個物件,此物件會以陣列的元素作為屬性。
4._new=[],宣告一個新陣列,用來儲存刪除重複後的元素。
5.for(var i=_a.length;i--;){},迴圈語句,這個寫法等同於for(var i=_a.length;i>0i--;)。
6.if(!_hash[_a]),判斷物件中是否含所有此屬性。
7._hash[_a]=1,如果沒有的話就新增此屬性並將屬性值設定為1,這裡設定為1其實沒有什麼特別用以,雖然一個都可以。
8._new.push(_a),將此元素新增到新的陣列。
三.相關閱讀:
1.contact()函式可以參閱javascript concat()一章節。
2.push()函式可以參閱javascript push()一章節。
相關文章
- JavaScript 拼接多個陣列並刪除重複元素JavaScript陣列
- js刪除陣列中重複的元素JS陣列
- js刪除陣列中的重複元素JS陣列
- js如何合併兩個陣列並且刪除重複的元素JS陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- js刪除陣列重複元素程式碼例項JS陣列
- javascript刪除陣列重複元素程式碼JavaScript陣列
- 刪除陣列中一個或者多個連續的元素陣列
- js利用正規表示式刪除陣列中的重複元素JS陣列
- javascript刪除陣列中的重複元素程式碼JavaScript陣列
- JavaScript刪除陣列重複元素的5個高效演算法JavaScript陣列演算法
- js如何刪除陣列中重複的值JS陣列
- javascript刪除陣列重複元素程式碼例項JavaScript陣列
- JS刪除陣列裡的某個元素方法JS陣列
- javascript刪除陣列中重複元素程式碼例項JavaScript陣列
- JS] JS 之刪除陣列中的元素JS陣列
- js刪除陣列指定索引的元素JS陣列索引
- 刪除陣列中的元素(連結串列)陣列
- 刪除排序陣列中的重複項排序陣列
- JavaScript陣列刪除重複內容JavaScript陣列
- js刪除陣列中重複項的程式碼例項JS陣列
- js刪除陣列元素中的指定值JS陣列
- leetcode-刪除排序陣列中的重複項+移除元素LeetCode排序陣列
- 刪除排序陣列中的重複數字排序陣列
- javascript如何刪除陣列中重複的項JavaScript陣列
- 刪除有序陣列中的重複項 II陣列
- JavaScript刪除陣列第一個元素JavaScript陣列
- JavaScript刪除陣列元素JavaScript陣列
- 題目:刪除排序陣列中的重複項排序陣列
- c#刪除有序陣列中的重複項C#陣列
- js如何在陣列的開頭新增和刪除一個元素JS陣列
- js陣列去重,除重的方式(儘可能多)JS陣列
- js如何刪除陣列中是否有重複內容程式碼JS陣列
- js 的陣列去除重複元素程式碼例項JS陣列
- JavaScript刪除陣列最後一個元素JavaScript陣列
- JavaScript 刪除陣列最後一個元素JavaScript陣列
- php獲取並刪除陣列的第一個和最後一個元素PHP陣列