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 相关文章推荐
Javascript优化技巧(文件瘦身篇)
Jan 28 Javascript
学习JavaScript的最佳方法分享
Oct 21 Javascript
jquery ajax jsonp跨域调用实例代码
Dec 11 Javascript
js实现ifram取父窗口URL地址的方法
Feb 09 Javascript
浅谈String.valueOf()方法的使用
Jun 06 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
Jun 20 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
Node调用Java的示例代码
Sep 20 Javascript
JavaScript比较同一天的时间大小实例代码
Feb 09 Javascript
js实现轮播图特效
May 28 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
Jul 16 Javascript
vue3中的组件间通信
Mar 31 Vue.js
关于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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
php define的第二个参数使用方法
2013/11/04 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
php中session与cookie的比较
2015/01/27 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
用js自动判断浏览器分辨率的代码
2007/01/28 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
vuex 的简单使用
2018/03/22 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
详解JS函数防抖
2020/06/05 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
python实现用户登陆邮件通知的方法
2015/07/09 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
详解Python的三种拷贝方式
2020/02/11 Python
python绘制动态曲线教程
2020/02/24 Python
Python 日期与时间转换的方法
2020/08/01 Python
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
模具数控专业自荐信
2014/01/27 职场文书
高中语文课后反思
2014/04/27 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
公务员培的训心得体会
2014/09/01 职场文书
Python 中面向接口编程
2022/05/20 Python
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers