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 相关文章推荐
参考:关于Javascript中实现暂停的几篇文章
Mar 04 Javascript
ext jquery 简单比较
Apr 07 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
javascript中字体浮动效果的简单实例演示
Nov 18 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
Aug 19 Javascript
浅谈React之状态(State)
Sep 19 Javascript
angular 用Observable实现异步调用的方法
Dec 27 Javascript
vue.js指令v-for使用以及下标索引的获取
Jan 31 Javascript
Vue3.0 响应式系统源码逐行分析讲解
Oct 14 Javascript
小程序开发之模态框组件封装
Apr 23 Javascript
element tree树形组件回显数据问题解决
Aug 14 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管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
JS 判断代码全收集
2009/04/28 Javascript
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
python实现简单颜色识别程序
2020/02/19 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
空指针到底是什么
2012/08/07 面试题
企业晚会策划方案
2014/05/29 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
学籍证明模板
2014/11/21 职场文书
内乡县衙导游词
2015/02/05 职场文书
新闻通讯稿模板
2015/07/22 职场文书
幼儿园保育员随笔
2015/08/14 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
Redis可视化客户端小结
2021/06/10 Redis
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python
MYSQL如何查看操作日志详解
2022/05/30 MySQL