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 相关文章推荐
ExtJS下grid的一些属性说明
Dec 13 Javascript
JavaScript前补零操作实例
Mar 11 Javascript
jQuery中extend()和fn.extend()方法详解
Jun 03 Javascript
javascript实现确定和取消提示框效果
Jul 10 Javascript
详解JavaScript数组过滤相同元素的5种方法
May 23 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
React教程之Props验证的具体用法(Props Validation)
Sep 04 Javascript
Ajax请求时无法重定向的问题解决代码详解
Jun 21 Javascript
JS设置自定义快捷键并实现图片上下左右移动
Oct 17 Javascript
Vue实现简单计算器案例
Feb 25 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 Javascript
jquery自定义组件实例详解
Dec 31 jQuery
关于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中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
2017/04/04 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
JavaScript类库D
2010/10/24 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
python返回昨天日期的方法
2015/05/13 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
Python中装饰器学习总结
2018/02/10 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
django配置app中的静态文件步骤
2020/03/27 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
2020/07/01 Python
基于python实现坦克大战游戏
2020/10/27 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
建筑工程毕业生自我鉴定
2014/01/14 职场文书
在校生自我鉴定
2014/01/23 职场文书
校园安全广播稿
2014/02/08 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
环保倡议书400字
2014/05/15 职场文书
贷款担保申请书
2014/05/20 职场文书
抗洪救灾感谢信
2015/01/22 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
校园广播站开场白
2015/06/01 职场文书
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫