js 的陣列去除重複元素程式碼例項

admin發表於2017-03-28

陣列是用來儲存資料的,如果存入資料較多的話,難免會出現重複的元素。

但是在實際應用中,可能需要一個沒有重複元素的陣列,下面就通過程式碼例項介紹一下如何實現此功能。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
Array.prototype.unique=function(){
  var n = {},r=[]; 
  for(var index = 0; index < this.length; index++){
    if(!n[this[index]]){
      n[this[index]] = true; 
      r.push(this[index]);
    }
  }
  return r;
}
var arr=[5,2,3,1,6,8,18,12,15,5,8];
console.log(arr.unique())

上面的程式碼實現了去除重複元素的功能,下面介紹一下它的實現過程。

一.程式碼註釋:

1.Array.prototype.unique=function(){},通過原型為例項物件新增函式,此函式可以去重功能。2.var n = {},r=[],n為一個物件直接量,用作hash表,第二個宣告一個空的零食陣列。

3.for(var index = 0; index < this.length; index++),使用for迴圈遍歷當前陣列的每一個元素。

4.if(!n[this[index]]),判斷hash表中是否已經有當前項。

5. n[this[index]] = true,那麼就將當前陣列元素的值作為屬性名稱,true作為屬性值。

6.r.push(this[index]),然後把當前元素元素壓入臨時陣列。

7.return r,返回臨時陣列。

二.相關閱讀:

1.prototype可以參閱javascript prototype原型一章節。

2.push()函式可以參閱javascript push()一章節。

相關文章