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 相关文章推荐
jquery图片上下tab切换效果
Mar 18 Javascript
Asp.Net alert弹出提示信息的几种方法总结
Jan 29 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
Mar 07 Javascript
JS版元素周期表实现方法
Aug 05 Javascript
JavaScript如何获取数组最大值和最小值
Nov 18 Javascript
AngularJS 应用身份认证的技巧总结
Nov 07 Javascript
jquery 校验中国身份证号码实例详解
Apr 11 jQuery
Angular.Js中ng-include指令的使用与实现
May 07 Javascript
JS模拟实现哈希表及应用详解
May 04 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
Nov 27 Javascript
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
vue页面加载时的进度条功能(实例代码)
Jan 13 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 处理图片的类实现代码
2009/10/23 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
PDO::inTransaction讲解
2019/01/28 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
关于JavaScript中string 的replace
2013/04/12 Javascript
深入理解Javascript中的循环优化
2013/11/09 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
javascript数据类型详解
2017/02/07 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
Python爬虫模拟登录带验证码网站
2016/01/22 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
详解如何使用Python编写vim插件
2017/11/28 Python
python3+PyQt5自定义视图详解
2018/04/24 Python
儿童学习python的一些小技巧
2018/05/27 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
武汉瑞得软件笔试题
2015/10/27 面试题
农田水利实习自我鉴定
2013/09/19 职场文书
大学生军训广播稿
2014/01/24 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
美术教师个人总结
2015/02/06 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
数学复习课教学反思
2016/02/18 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang