JS实现数组去重复值的方法示例


Posted in Javascript onFebruary 18, 2017

本文实例讲述了JS实现数组去重复值的方法。分享给大家供大家参考,具体如下:

运行效果图如下:

JS实现数组去重复值的方法示例

完整实例代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<script type="text/javascript" language="javascript" >
Array.prototype.distinct = function(){
 var $ = this;
 var o1 = {}; //存放去重复值
 var o2 = {}; //存放重复值
 var o3 = []; //存放重复值
 var o; //数组单个变量
 for(var i=0;o = $[i];i++){
 if(o in o1){
  if(!(o in o2)) o2[o] = o;
  delete $[i];
 }else{
  o1[o] = o;
 }
 }
 $.length = 0; //清空原数组
 for(o in o1){
 $.push(o);
 }
 for(o in o2){
 o3.push(o);
 }
 return o3;
}
var a = [2,2,2,3,3,3,4,4,5,6,7,7];
console.log("原数组:" + a); //2,2,2,3,3,3,4,4,5,6,7,7
console.log("有重复的元素是:" + a.distinct()); //2,3,4,7
console.log("整理后的数组是:" + a);      //2,3,4,5,6,7
console.log("整理后的长度是:" + a.length)    //6
</script>
</head>
<body>
</body>
</html>
Javascript 相关文章推荐
JavaScript入门教程(12) js对象化编程
Jan 31 Javascript
asp(javascript)全角半角转换代码 dbc2sbc
Aug 06 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
Aug 17 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
jQuery获取URL请求参数的方法
Jul 18 Javascript
七个不允许错过的jQuery小技巧
Dec 21 Javascript
详解javascript实现瀑布流列式布局
Jan 29 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
Mar 28 Javascript
js 获取站点应用名的简单实例
Aug 18 Javascript
JavaScript中数组常见操作技巧
Sep 01 Javascript
五步轻松实现zTree的使用
Nov 01 Javascript
vue中使用mockjs配置和使用方式
Apr 06 Vue.js
bootstarp modal框居中显示的实现代码
Feb 18 #Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
Feb 18 #Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 #Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
Feb 18 #Javascript
JS设置时间无效问题的解决办法
Feb 18 #Javascript
js的OOP继承实现(必看篇)
Feb 18 #Javascript
jQuery仿IOS弹出框插件
Feb 18 #Javascript
You might like
PHP 简易输出CSV表格文件的方法详解
2013/06/20 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
PHP定时更新程序设计思路分享
2014/06/10 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
PHP单例模式详细介绍
2015/07/01 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
php 浮点数比较方法详解
2017/05/05 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
[01:25:09]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第二场
2014/05/24 DOTA
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
个人先进材料范文
2014/12/30 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
化工生产实习心得体会
2016/01/22 职场文书
个人的事迹材料怎么写
2019/04/24 职场文书
Redis高可用集群redis-cluster详解
2022/03/20 Redis