文档章节

去掉数组中重复的元素

歌颂_大海
 歌颂_大海
发布于 2017/09/04 10:53
字数 237
阅读 2
收藏 0
function unique1(arr){
      //i从0开始遍历arr,同时创建空数组result
      for(var i=0,result=[];i<arr.length;i++){
        //j从0开始,遍历result
        for(var j=0;j<result.length;j++){
          //如果result中当前元素等于arr中当前元素
          if(arr[i]==result[j]) break;//退出循环 
        }//(遍历结束)
        //如果j等于result的length
        if(j==result.length)
          //将arr中当前元素,追加到result末尾
          result[result.length]=arr[i];
      }//(遍历结束)
      return result;
    }
function unique2(arr){
 for(var i=0,result=[],hash=[];i<arr.length;i++){
    //如果hash中以arr当前元素作为key的元素是undefined
    if(hash[arr[i]]===undefined){
      //将arr当前元素追加到result结尾
      result[result.length]=arr[i];
      //为hash添加新元素,key为arr当前元素值,value都赋值为true
      hash[arr[i]]=true;
    }
 }
 return result;
}
for(var i=0,arr=[];i<1000000;i++){
      arr[i]=Math.floor(Math.random()*1000);
    }
    console.time("unique1");
    unique1(arr);
    console.timeEnd("unique1");
    console.time("unique2");
    unique2(arr);
    console.timeEnd("unique2");

对两种查找方式进行比较,第二种用时更少

© 著作权归作者所有

共有 人打赏支持
歌颂_大海
粉丝 0
博文 1
码字总数 237
作品 0
驻马店
程序员
用HashSet查找两个int数组中的相同元素

其实用两个循环嵌套就可以实现,但这里只是为了演示HashSet的去重功能。 import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; impo...

JAVA_NINA
2011/01/07
0
0
第三章 数组相关操作

编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间。 2. 编写一个循环,将整数数组中相邻的元素置换。例如,Array(1,2,3,4,5)经过置换后变为Array(2,1,4...

小萝卜_
2016/06/08
39
0
ruby的Array总结

ruby的Array总结 2010-12-28 11:25:54| 分类: Ruby/Rails|字号 订阅 Array 作为一个类,其中方法有:(简单的就不想说明了,仅作参考)

BinYang
2012/11/01
0
0
jQuery Utilities

$.each(object,function(name,value){}),用于遍历对象和数组。 $.each( [0,1,2], function(i, n){alert( "Item #" + i + ": " + n );});$.each( { name: "John", lang: "JS" }, function(i......

梵高
2011/08/15
0
0
for in 和 for,以及getElementsByTagName('*')

由于原生js中,没有能通过class获取元素的方法,OK,来,自己写 正在我沾沾自喜的时候,尼玛,出幺蛾子了 页面结构是这样的 我了个擦,返回了一个8个元素的数组,有木有,好难过,这不是我想...

DennisHill
2016/12/27
2
0

没有更多内容

加载失败,请刷新页面

加载更多

身处小公司,如何在2年内快速突破,拿到大厂offer?|掘金技术征文

本文是我一个朋友的经历,谨以此文告诉那些向往更好的未来发展而一直努力奋斗的朋友们。不管你现在身处什么小公司,都不要气馁,机会还是有的,只要你敢于拼搏奋斗,我相信你一定可以成功的。...

SuShine
30分钟前
1
0
web应用防火墙的作用

web应用防火墙也被称为网站应用级入侵防御系统,按照一些常规的定义,WAF是指通过一些列针对HTTP/HTTPS的安全策略专门为web应用提供保护的产品。它主要用于防御针对网络应用层的攻击,像SQL...

上树的熊
32分钟前
2
0
5分钟掌握var,let和const异同

转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 原文出处:https://dzone.com/articles/javascript-difference-between-var-let-and-const-...

葡萄城技术团队
34分钟前
5
0
gif工具ffmpeg 的安装

ffmpeg 是一个可以将视频生成gif 格式的图片的工具, 下面说说如何安装这个工具吧: 1、 2 3 4 5 配置环境变量:

wangyanbao
36分钟前
1
0
RocketMq在windows下安装

mqnamesrv.cmd -n localhost:9876#启动namesrvmqbroker.cmd #启动brokermqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true//启动控制台java -jar rocketmq-console-ng......

王桥修道院副院长
36分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部