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 相关文章推荐
jquery isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 Javascript
js控制CSS样式属性语法对照表
Dec 11 Javascript
javascript实现yield的方法
Nov 06 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
Apr 23 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
Mar 08 Javascript
AngularJS ui-router (嵌套路由)实例
Mar 10 Javascript
Vue-Cli中自定义过滤器的实现代码
Aug 12 Javascript
vux uploader 图片上传组件的安装使用方法
May 15 Javascript
Vue中使用clipboard实现复制功能
Sep 05 Javascript
js String.prototype.trim字符去前后空格的扩展
Aug 23 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 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
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
php 读取文件夹下所有图片、文件的实例
2018/10/17 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍
2013/04/23 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
python根据经纬度计算距离示例
2014/02/16 Python
python使用chardet判断字符串编码的方法
2015/03/13 Python
Python 序列的方法总结
2016/10/18 Python
PyCharm代码格式调整方法
2018/05/23 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
Oracle快照(snapshot)
2015/03/13 面试题
电气工程自动化求职信
2014/03/14 职场文书
租房协议书怎么写
2014/04/10 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
优秀员工评优方案
2014/06/13 职场文书
中学图书馆工作总结
2015/08/11 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android