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 相关文章推荐
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
May 02 Javascript
node.js中的fs.closeSync方法使用说明
Dec 17 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
May 04 Javascript
基于vuejs实现一个todolist项目
Apr 11 Javascript
js随机生成一个验证码
Jun 01 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
AngularJS 限定$scope的范围实例详解
Jun 23 Javascript
JavaScript原型继承_动力节点Java学院整理
Jun 30 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
详解vue中组件参数
Jul 09 Javascript
vue 组件销毁并重置的实现
Jan 13 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
自动跳转中英文页面
2006/10/09 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
简单的js表单验证函数
2013/10/28 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
python九九乘法表的实例
2017/09/26 Python
pycharm+django创建一个搜索网页实例代码
2018/01/24 Python
python用户管理系统
2018/03/13 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
中学生获奖感言
2014/02/04 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
刘胡兰观后感
2015/06/16 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技