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 相关文章推荐
JavaScript中常见陷阱小结
Apr 27 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
Aug 02 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
Oct 29 Javascript
js实现的点击数量加一可操作数据库
May 09 Javascript
js实现类似MSN提示的页面效果代码分享
Aug 24 Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 Javascript
一道关于JavaScript变量作用域的面试题
Mar 08 Javascript
基于JSON数据格式详解
Aug 31 Javascript
Vue-Router进阶之滚动行为详解
Sep 13 Javascript
jQuery滑动效果实现方法分析
Sep 05 jQuery
关于layui的下拉搜索框异步加载数据的解决方法
Sep 28 Javascript
Javascript原型链及instanceof原理详解
May 25 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实现MVC开发得最简单的方法――模型
2007/04/10 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
分享php分页的功能模块
2015/06/16 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
基于jQuery的图片剪切插件
2011/08/03 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
Python实现大文件排序的方法
2015/07/10 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
获取python文件扩展名和文件名方法
2018/02/02 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
Python输出指定字符串的方法
2020/02/06 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
给排水工程师岗位职责
2013/11/21 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
推荐信格式范文
2014/05/09 职场文书
建筑安全生产责任书
2014/07/22 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android
使用Java去实现超市会员管理系统
2022/03/18 Java/Android