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判断单选框或复选框是否选中方法集锦
Apr 04 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
Feb 22 Javascript
jquery弹出关闭遮罩层实例
Aug 06 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
Feb 04 Javascript
jQuery on()绑定动态元素出现的问题小结
Feb 19 Javascript
AngularJs表单验证实例详解
May 30 Javascript
jQuery之简单的表单验证实例
Jul 07 Javascript
JS给Array添加是否包含字符串的简单方法
Oct 29 Javascript
微信小程序页面滑动屏幕加载数据效果
Nov 16 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
Mar 15 Javascript
小程序分享模块超级详解(推荐)
Apr 10 Javascript
关于vue 项目中浏览器跨域的配置问题
Nov 10 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创建动态图像
2006/10/09 PHP
解决GD中文乱码问题
2007/02/14 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
业务员岗位职责
2013/11/16 职场文书
企业演讲稿范文
2013/12/28 职场文书
球队口号
2014/06/18 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
新年祝酒词大全
2015/08/11 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
python爬虫--selenium模块
2021/03/31 Python
Python使用永中文档转换服务
2022/05/06 Python