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 相关文章推荐
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
javascript中神奇的 Date对象小结
Oct 12 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
Jan 25 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
Vue常见面试题整理【值得收藏】
Sep 20 Javascript
vue项目打包部署_nginx代理访问方法详解
Sep 20 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
Apr 09 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
Oct 12 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
Nov 07 Javascript
如何基于viewport vm适配移动端页面
Nov 13 Javascript
Vue监视数据的原理详解
Feb 24 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生成缩略图的代码
2011/01/12 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
Ext GridPanel加载完数据后进行操作示例代码
2014/06/17 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
vue.js数据绑定操作详解
2018/04/23 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
python实现两张图片的像素融合
2019/02/23 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
人力资源专业推荐信
2013/11/29 职场文书
优秀共产党员先进事迹
2014/01/27 职场文书
2014年店长工作总结
2014/11/17 职场文书
就业意向协议书
2015/01/29 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
导游词之无锡梅园
2019/11/28 职场文书
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers
Python Matplotlib库实现画局部图
2021/11/17 Python