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插件-jRating评分插件源码分析及使用方法
Dec 28 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
Jul 17 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
Aug 16 Javascript
JS实现的幻灯片切换显示效果
Sep 07 Javascript
微信小程序微信支付接入开发实例详解
Apr 12 Javascript
基于jstree使用AJAX请求获取数据形成树
Aug 29 Javascript
js input输入百分号保存数据库失败的解决方法
May 26 Javascript
JavaScript引用类型Function实例详解
Aug 09 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 Javascript
jquery向后台提交数组的代码分析
Feb 20 jQuery
Vue+Bootstrap实现简易学生管理系统
Feb 09 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
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
python让列表倒序输出的实例
2018/06/25 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
Python datetime 如何处理时区信息
2020/09/02 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
经济管理专业毕业生推荐信
2013/11/11 职场文书
升职演讲稿范文
2014/05/23 职场文书
初中同学会活动方案
2014/08/22 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
教师素质教育心得体会
2016/01/19 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL