JS数组去重与取重的示例代码


Posted in Javascript onJanuary 24, 2014

方法一:去重复数据

<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>
Javascript 相关文章推荐
jQuery 图像裁剪插件Jcrop的简单使用
May 22 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
Feb 07 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
Jan 15 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
Jan 04 Javascript
Bootstrap源码解读下拉菜单(4)
Dec 23 Javascript
JS实现图片放大镜插件详解
Nov 06 Javascript
初识 Vue.js 中的 *.Vue文件
Nov 22 Javascript
深入理解JS异步编程-Promise
Jun 03 Javascript
如何进行微信公众号开发的本地调试的方法
Jun 16 Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
Jan 12 Javascript
关于js数组去重的问题小结
Jan 24 #Javascript
js数组去重的常用方法总结
Jan 24 #Javascript
JQuery的$和其它JS发生冲突的快速解决方法
Jan 24 #Javascript
js判断60秒以及倒计时示例代码
Jan 24 #Javascript
innerText 使用示例
Jan 23 #Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 #Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 #Javascript
You might like
解析php开发中的中文编码问题
2013/08/08 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
对new functionName()定义一个函数的理解
2014/05/22 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
2018/05/29 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
python实现批量修改文件名代码
2017/09/10 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
通过实例解析python描述符原理作用
2020/01/22 Python
Django实现内容缓存实例方法
2020/06/30 Python
python中的django是做什么的
2020/07/31 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
药品采购员岗位职责
2014/02/08 职场文书
学习普通话的体会
2014/11/07 职场文书
质量保证书格式模板
2015/02/27 职场文书
出国留学自荐信模板
2015/03/06 职场文书
中标通知书范本
2015/04/17 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
Python基础之hashlib模块详解
2021/05/06 Python
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
Java 超详细讲解ThreadLocal类的使用
2022/04/07 Java/Android