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 相关文章推荐
让您的菜单不离网站
Oct 03 Javascript
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
Dec 07 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
Aug 16 Javascript
js加强的经典分页实例
Mar 15 Javascript
js单向链表的具体实现实例
Jun 21 Javascript
js树插件zTree获取所有选中节点数据的方法
Jan 28 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
Dec 08 Javascript
深入理解JavaScript中的预解析
Jan 04 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
Jun 15 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
Jun 29 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
Jul 28 Javascript
自定义PC微信扫码登录样式写法
Dec 12 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
菜鸟修复电子管记
2021/03/02 无线电
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
Python计算一个文件里字数的方法
2015/06/15 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
霸气队列口号
2014/06/18 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技
JS实现九宫格拼图游戏
2022/06/28 Javascript