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 相关文章推荐
出现“不能执行已释放的Script代码”错误的原因及解决办法
Aug 29 Javascript
JavaScript中自定义事件用法分析
Dec 23 Javascript
jquery使用animate方法实现控制元素移动
Mar 27 Javascript
浅谈jquery事件处理
Apr 24 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
Sep 22 Javascript
JS实现网页上随滚动条滚动的层效果代码
Nov 04 Javascript
jQuery手风琴的简单制作
May 12 jQuery
js replace替换字符串同时替换多个方法
Nov 27 Javascript
Element ui 下拉多选时新增一个选择所有的选项
Aug 21 Javascript
原生JS实现九宫格抽奖
Sep 13 Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 Javascript
Vue 数据响应式相关总结
Jan 28 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
vue-cli开发环境实现跨域请求的方法
2018/04/07 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
python使用心得之获得github代码库列表
2014/06/25 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
查看python下OpenCV版本的方法
2018/08/03 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
三年大学自我鉴定
2014/01/16 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
坎儿井导游词
2015/02/09 职场文书
教师求职自荐信范文
2015/03/04 职场文书
感恩教育主题班会
2015/08/12 职场文书
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers