JS数组去重与取重的示例代码 |
本文标签:JS数组去重 方法一:去重复数据 复制代码 代码如下: <script> Array.prototype.distinct=function(){ var a=[],b=[]; for(var prop in this){ var d = this[prop]; if (d===a[prop]) continue; //防止循环到prototype if (b[d]!=1){ a.push(d); b[d]=1; } } return a; } var x=[a,b,c,d,b,a,e,a,b,c,d,b,a,e]; document.write(原始数组:+x); document.write("<br />"); document.write(去重复后:+x.distinct()); </script> 方法二:取重复数据 复制代码 代码如下: <script type="text/javascript"> Array.prototype.distinct=function(){ var a=[],b=[],c=[],d=[]; for(var prop in this){ var d = this[prop]; if (d===a[prop]) { continue; }//防止循环到prototype if (b[d]!=1){ a.push(d); b[d]=1; } else { c.push(d); d[d]=1; } } //return a; return c.distinct1(); } Array.prototype.distinct1=function(){ var a=[],b=[]; for(var prop in this){ var d = this[prop]; if (d===a[prop]) continue; //防止循环到prototype if (b[d]!=1){ a.push(d); b[d]=1; } } return a; } var x=[a,b,c,d,b,a,e,a,b,c,d,b,a,e,f,f,g]; document.write(原始数组:+x); document.write("<br />"); document.write(去重复后:+x.distinct()); </script> |