javascript数组去重方法分析


Posted in Javascript onDecember 15, 2016

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

方法一.

思路:创建一个新的空数组,循环遍历旧数组,用indexOf()方法,可以取得元素在数组中的位置,如果值为-1表示不存在。那么新数组用indexOf去获取老数组的每一个元素,如果值为-1表示不存在,就把他push到新数组里,最后输出新数组即去重后的数组

var arr=[24,56,74,89,24,56,78,09,24];
var new_arr=[];
for(var i=0;i<arr.length;i++){
  if(new_arr.indexOf(arr[i])==-1){
    new_arr.push(arr[i]);
  }
}
console.log(new_arr);

方法二.

var arr=[2,58,49,26,49];<br>var o={};
var new_arr=[];
for(var i=0;i<arr.length;i++){
  var k=arr[i];
  if(!o[k]){
    o[k]=true;
    new_arr.push(k);
  }
}
alert(new_arr);

同样的原理,只是借用一个空对象来判断

注:第二种方法是把已经出现过的通过下标的形式存入到一个object内,下标引用要比用indexOf()搜索数组快得多,所以第一种方法很耗资源

Javascript 相关文章推荐
AJAX架构之Dojo篇
Apr 10 Javascript
js校验表单后提交表单的三种方法总结
Feb 28 Javascript
jQuery插件passwordStrength密码强度指标详解
Jun 24 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Dec 15 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
Bootstrap表格使用方法详解
Feb 17 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
Apr 13 Javascript
基于dataset的使用和图片延时加载的实现方法
Dec 11 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
node全局变量__dirname与__filename的区别
Jan 14 Javascript
js如何实现元素曝光上报
Aug 07 Javascript
使用 Vue 实现一个虚拟列表的方法
Aug 20 Javascript
JS碰撞运动实现方法详解
Dec 15 #Javascript
浅述节点的创建及常见功能的实现
Dec 15 #Javascript
Bootstrap整体框架之JavaScript插件架构
Dec 15 #Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 #Javascript
Bootstrap整体框架之CSS12栅格系统
Dec 15 #Javascript
Bootstrap CSS布局之列表
Dec 15 #Javascript
BootStrap整体框架之基础布局组件
Dec 15 #Javascript
You might like
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
python list转矩阵的实例讲解
2018/08/04 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
python要安装在哪个盘
2020/06/15 Python
Django REST 异常处理详解
2020/07/15 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
新闻专业推荐信范文
2013/11/20 职场文书
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
课程设计心得体会
2013/12/28 职场文书
大学军训感言1500字
2014/03/09 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
生日庆典策划方案
2014/06/02 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python