給數組原型對象添加一個去重的方法,並返回去重後的數組

 // 個人思路是採用哈希表來去重,最後將數組截取

 1 if ( !Array.prototype.unique ) {
 2         Array.prototype.unique = function () {
 3             var tmp = {},
 4                 arr = [],
 5                 j = 0,
 6                 i,
 7                 len;
 8             for (i = 0, len = this.length; i < len; i++) {
 9                 var value = this[i];
10                 if ( tmp[value] ) {
11                     arr.push(value);
12                 } else {
13                     this[j++] = value;
14                     tmp[value] = 1;
15                 }
16             }
17             this.length = j;
18             return arr;
19         }
20     }數組

相關文章
相關標籤/搜索