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 EasyUI中对表格进行编辑的实现代码
Jun 10 Javascript
javascript数组的使用
Mar 28 Javascript
JS获取当前网址、主机地址项目根路径
Nov 19 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
浅谈js中调用函数时加不加括号的问题
Jul 28 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
Jul 10 Javascript
vue中关闭eslint的方法分析
Aug 04 Javascript
js尾调用优化的实现
May 23 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
Feb 15 Javascript
在Vue中使用antv的示例代码
Jun 29 Javascript
javascript运行机制之执行顺序理解
Aug 03 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测试硬盘写入速度示例
2014/01/27 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
php实现短信发送代码
2015/07/05 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
js数组的操作详解
2013/03/27 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
详解python开发环境搭建
2016/12/16 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
历史专业毕业生的自我鉴定
2013/11/15 职场文书
大学生专科毕业生自我评价
2013/11/17 职场文书
优秀党支部事迹材料
2014/01/14 职场文书
寄语十八大感言
2014/02/07 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
大学生求职自荐信
2015/03/24 职场文书