javascript去掉陣列中重複的值

antzone發表於2017-03-14

陣列是用來組織資料的,有時候裡面的資料是重複的,下面就介紹一下如何從陣列中刪除重複的內容。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var theArray=[1,2,3,4,5,6,4,3,10];
function unique(data){
  var data=data||[];
  var a={};
  for(var i=0;i<data.length;i++){
    var v=data[i];
    if(typeof(a[v])=='undefined'){
      a[v]=1;
    }
  }
  data.length=0; 
  for(var i in a){
    data[data.length]=i;
  }
  return data;
}
console.log(unique(theArray));

以上程式碼可以輸出刪除重複內容後的陣列元素。當然實現此功能的方式有多種,本章節只介紹這麼一種,下面介紹一下是實現過程。

一.實現原理:

原理其實很簡單,首先建立一個空物件a,然後遍歷陣列中的每一個元素,並將陣列的元素值作為物件a的屬性,如果不存在此屬性,然後為物件a新增此屬性並賦值1,這樣不重複的陣列元素都成為物件a的屬性,最後通過for in元素遍歷每一個屬性,並將其新增到陣列中去,這樣就實現了我們想要的功能。

二.相關閱讀:

1.typeof可以參閱javascript typeof 運算子一章節。

2.for in語句可以參閱javascript for in一張章節。

相關文章