JavaScript中数组去除重复的三种方法


Posted in Javascript onApril 22, 2016

废话不多说了,具体方法如下所示:

方法一:返回新数组每个位子类型没变

function outRepeat(a){
      var hash=[],arr=[];
      for (var i = 0; i < a.length; i++) {
        hash[a[i]]!=null;
        if(!hash[a[i]]){
          arr.push(a[i]);
          hash[a[i]]=true;
        }
      }
      console.log(arr);
    }
    outRepeat([2,4,4,5,"a","a"]);//[2, 4, 5, "a"]

方法二:类似于法一,但本农觉着法一更易于理解

function outRepeat(a){
      var hash=[],arr=[];
      for (var i = 0,elem;(elem=a[i])!=null; i++) {
        if(!hash[elem]){
          arr.push(elem);
          hash[elem]=true;
        }
      }
      console.log(arr);
    }
    outRepeat([2,4,4,5,"a","a"]);//[2, 4, 5, "a"]

方法三:比前两个更易于理解但是返回的新数组每个位子的number类型变为string类型了!!关键时刻得处理

function outRepeat(a){
      var hash=[],arr=[];
      for (var i = 0; i < a.length; i++) {
        hash[a[i]]=null;
      }
      for(var key in hash){
          arr.push(key);        
        }
      console.log(arr);
    }
    outRepeat([2,4,4,5,"a","a"]);//["2", "4", "5", "a"]

以上是小编给大家介绍的JavaScript中数组去除重复的三种方法,希望对大家有所帮助!

Javascript 相关文章推荐
js 单引号 传递方法
Jun 22 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
Jan 09 Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 Javascript
js 手机号码合法性验证代码集合
Sep 29 Javascript
CSS+jQuery实现的一个放大缩小动画效果
Sep 24 Javascript
AngularJS语法详解(续)
Jan 23 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
Apr 13 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
js实现点击切换checkbox背景图片的简单实例
May 08 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
微信小程序 http请求的session管理
Jun 07 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
Jul 28 Javascript
IE和Firefox之间在JavaScript语法上的差异
Apr 22 #Javascript
动态加载JavaScript文件的两种方法
Apr 22 #Javascript
JavaScript记录光标在编辑器中位置的实现方法
Apr 22 #Javascript
在AngularJS中使用jQuery的zTree插件的方法
Apr 21 #Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
Apr 21 #Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
Apr 21 #Javascript
javascript常见数字进制转换实例分析
Apr 21 #Javascript
You might like
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
安装dbus-python的简要教程
2015/05/05 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
Python用threading实现多线程详解
2017/02/03 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
python取代netcat过程分析
2018/02/10 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
通过cmd进入python的实例操作
2019/06/26 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
汉语专业应届生求职信
2013/10/01 职场文书
大学在校生求职信范文
2013/11/21 职场文书
班组长安全工作职责
2014/07/15 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
档案管理员岗位职责
2015/02/12 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
心理健康教育主题班会
2015/08/13 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js