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 相关文章推荐
完美解决IE低版本不支持call与apply的问题
Dec 05 Javascript
javascript中字符串的定义示例代码
Dec 19 Javascript
优化javascript的执行效率一些方法总结
Dec 25 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
Apr 23 Javascript
js实现文件上传表单域美化特效
Nov 02 Javascript
基于jquery实现即时检查格式是否正确的表单
May 06 Javascript
原生js实现类似fullpage的单页/全屏滚动
Jan 22 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
May 26 Javascript
简单实现js轮播图效果
Jul 14 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
Node.js如何对SQLite的async/await封装详解
Feb 14 Javascript
vue-form表单验证是否为空值的实例详解
Oct 29 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 error_log 函数的使用
2009/04/13 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
可缩放Reloaded-一个针对可缩放元素的复用组件
2007/03/10 Javascript
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
详解Vue项目中实现锚点定位
2019/04/24 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
vue中监听返回键问题
2019/08/28 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
Django数据库表反向生成实例解析
2018/02/06 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
2018/06/11 Python
python解决字符串倒序输出的问题
2018/06/25 Python
python中web框架的自定义创建
2019/09/08 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
以下的初始化有什么区别
2013/12/16 面试题
公司年终奖分配方案
2014/06/16 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
六查六看剖析材料
2014/10/06 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
奔腾年代观后感
2015/06/09 职场文书
美容院员工规章制度
2015/08/05 职场文书