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 相关文章推荐
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
Oct 16 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
JS使用parseInt解析数字实现求和的方法
Aug 05 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
Sep 20 Javascript
Angularjs 手写日历的实现代码(不用插件)
Oct 18 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
用Node提供静态文件服务的方法
Jul 06 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
Apr 02 Javascript
浅析vue-router中params和query的区别
Dec 24 Javascript
vue项目中使用vue-layer弹框插件的方法
Mar 11 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中的时间处理
2006/10/09 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
php实现对象克隆的方法
2015/06/20 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
python分析nignx访问日志脚本分享
2015/02/26 Python
python实现Floyd算法
2018/01/03 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
常务副总经理岗位职责
2014/04/12 职场文书
用python自动生成日历
2021/04/24 Python
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers