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 相关文章推荐
js类的静态属性和实例属性的理解
Oct 01 Javascript
JavaScript(js)设置默认输入焦点(focus)
Dec 28 Javascript
js实现简单鼠标跟随效果的方法
Apr 10 Javascript
vuejs父子组件通信的问题
Jan 11 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
浅谈Vuejs Prop基本用法
Aug 17 Javascript
微信小程序实现图片放大预览功能
Oct 22 Javascript
微信小程序使用swiper组件实现类3D轮播图
Aug 29 Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
vue实现省市区联动 element-china-area-data插件
Apr 22 Vue.js
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静态新闻列表自动生成代码
2007/06/14 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
preg_match_all使用心得分享
2014/01/31 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
不安全的常用的js写法
2009/09/15 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
2017/06/13 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
python检测某个变量是否有定义的方法
2015/05/20 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
django ajax json的实例代码
2018/05/29 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
回门宴答谢词
2014/01/13 职场文书
大学四年个人自我小结
2014/03/05 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
法人代表证明书范本
2015/06/18 职场文书
童年读书笔记
2015/06/26 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers