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 相关文章推荐
图片自动缩小 点击放大
Jul 07 Javascript
用js实现控件的隐藏及style.visibility的使用
Jun 14 Javascript
JS 数字转换研究总结
Dec 26 Javascript
JS数组的常见用法实例
Feb 10 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
Mar 05 Javascript
AngularJS入门示例之Hello World详解
Jan 04 Javascript
Vue.js实战之组件的进阶
Apr 04 Javascript
js禁止浏览器页面后退功能的实例(推荐)
Sep 01 Javascript
浅谈Angular文字折叠展开组件的原理分析
Nov 24 Javascript
JS运动改变单物体透明度的方法分析
Jan 23 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
Oct 19 Javascript
JavaScript字符和ASCII实现互相转换
Jun 03 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
mysql5写入和读出乱码解决
2006/11/25 PHP
PHP parse_url 一个好用的函数
2009/10/03 PHP
基于header的一些常用指令详解
2013/06/06 PHP
php格式化电话号码的方法
2015/04/24 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
python分析apache访问日志脚本分享
2015/02/26 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
基于Python List的赋值方法
2018/06/23 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
如何用python实现一个HTTP连接池
2021/01/14 Python
社区健康教育实施方案
2014/03/18 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
辞职书格式样本
2015/02/26 职场文书
2015年电教工作总结
2015/05/26 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL
python用tkinter开发的扫雷游戏
2021/06/01 Python
Python torch.flatten()函数案例详解
2021/08/30 Python
详解pytorch创建tensor函数
2022/03/22 Python
vue特效之翻牌动画
2022/04/20 Vue.js