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 验证表单(form)中的单选(radio)值
Sep 08 Javascript
扩展JavaScript功能的正确方法(译文)
Apr 12 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
Mar 19 Javascript
js算法中的排序、数组去重详细概述
Oct 14 Javascript
node.js中的buffer.fill方法使用说明
Dec 14 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
jQuery实现的placeholder效果完整实例
Aug 02 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
React Native自定义控件底部抽屉菜单的示例
Feb 08 Javascript
javascript实现画板功能
Apr 12 Javascript
JavaScript实现筛选数组
Mar 02 Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 Javascript
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支付宝手机网页支付类实例
2015/03/04 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
javascript 获取函数形参个数
2014/07/31 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python管理Windows服务小脚本
2018/03/12 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
python常用排序算法的实现代码
2019/11/08 Python
基于python调用psutil模块过程解析
2019/12/20 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
思想汇报格式
2014/01/05 职场文书
模特职业生涯规划范文
2014/02/26 职场文书
外国人聘用意向书
2014/04/01 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
教育教学工作反思
2016/02/24 职场文书
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js