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 callBack 返回前一页的js方法
Nov 30 Javascript
innerText和innerHTML 一些问题分析
May 18 Javascript
表单切换,用回车键替换Tab健(不支持IE)
Jul 20 Javascript
jquery插件jquery倒计时插件分享
Dec 27 Javascript
在JS中如何调用JSP中的变量
Jan 22 Javascript
了解Javascript的模块化开发
Mar 02 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
Mar 02 Javascript
对jQuary选择器的全面总结
Jun 20 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
Jun 15 Javascript
使用vue-router设置每个页面的title方法
Feb 11 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 Javascript
小程序实现密码输入框
Nov 16 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下使用SMTP发邮件的代码
2008/01/10 PHP
php绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
2016/06/13 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
Nodejs下DNS缓存问题浅析
2016/11/16 NodeJs
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
go语言计算两个时间的时间差方法
2015/03/13 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
Python OpenCV实现视频分帧
2019/06/01 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
基于python3的socket聊天编程
2020/02/17 Python
浅谈django 重载str 方法
2020/05/19 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
手机配件第一品牌:ZAGG
2017/05/28 全球购物
外语系毕业生求职自荐信
2014/04/12 职场文书
高考标语大全
2014/06/05 职场文书
党校毕业个人总结
2015/02/28 职场文书
土建技术员岗位职责
2015/04/11 职场文书
怒海潜将观后感
2015/06/11 职场文书
教学工作总结范文5篇
2019/08/19 职场文书