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转换农历类实现及调用方法
Jan 27 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
Mar 08 Javascript
JavaScript中判断整数的多种方法总结
Nov 08 Javascript
深入理解javascript变量声明
Nov 20 Javascript
再次谈论Javascript中的this
Jun 23 Javascript
JavaScript ES6中CLASS的使用详解
Nov 22 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
Oct 27 Javascript
js解决软键盘遮挡输入框的问题分享
Dec 19 Javascript
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
JavaScript基于SVG的图片切换效果实例代码
Dec 15 Javascript
vue route新窗口跳转页面并且携带与接收参数
Apr 10 Vue.js
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
杏林同学录(八)
2006/10/09 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
PHP实现的日历功能示例
2018/09/01 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
javascript基础知识讲解
2017/01/11 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
Python3.6正式版新特性预览
2016/12/15 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
python logging添加filter教程
2019/12/24 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
教育局长自荐信范文
2013/12/22 职场文书
畜牧兽医本科生的自我评价
2014/03/03 职场文书
售房协议书
2014/08/19 职场文书
个人委托书范本汇总
2014/10/01 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
道歉信范文
2015/05/12 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL