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 相关文章推荐
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
初识javascript 文档碎片
Jul 13 Javascript
jquery.post用法之type设置问题
Feb 24 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
Oct 17 Javascript
javascript实现的闭包简单实例
Jul 17 Javascript
在javascript中使用com组件的简单实现方法
Aug 17 Javascript
原生js轮播特效
May 18 Javascript
浅谈vuex 闲置状态重置方案
Jan 04 Javascript
微信小程序滑动选择器的实现代码
Aug 10 Javascript
Angular6项目打包优化的实现方法
Dec 15 Javascript
js实现多个标题吸顶效果
Jan 08 Javascript
js实现div色块拖动录制
Jan 16 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/05/10 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
python错误处理详解
2014/09/28 Python
python使用webbrowser浏览指定url的方法
2015/04/04 Python
python 换位密码算法的实例详解
2017/07/19 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
Python算法中的时间复杂度问题
2019/11/19 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
Python实现自动整理文件的脚本
2020/12/17 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
DBA的职责都有哪些
2012/05/16 面试题
职业技术学校毕业生推荐信
2013/12/03 职场文书
远程研修随笔感言
2014/02/10 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书