首页 > 代码库 > 高效数组去重方法

高效数组去重方法

  1. Array.prototype.unique = function()  
  2. {  
  3.     var n = {}, r = [], len = this.length, val, type;  
  4.     for (var i = 0; i < this.length; i++) {  
  5.         val = this[i];  
  6.         type = typeof val;  
  7.         if (!n[val]) {  
  8.             n[val] = [type];  
  9.             r.push(val);  
  10.         } else if (n[val].indexOf(type) < 0) {  
  11.             n[val].push(type);  
  12.             r.push(val);  
  13.         }  
  14.     }  
  15.     return r;  
  16. }  

 

思路源自于hpl大牛的思路,修正来自于CSDN社区的 i52nd  ,侵删。

高效数组去重方法