登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

尹小芃槑

<!DOCTYPE HTML>

 
 
 

日志

 
 

随机产生去重数组  

2015-03-26 18:00:15|  分类: JS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

今天看到同事的一段代码如下:

  1. var result = [];
  2. for(var j = 0; j < 10; j++) {
  3. result[j] = Math.round( Math.random() * 100 );
  4. if(j > 0) {
  5. for(var m = j - 1; m >= 0; m--) {
  6. if(result[j] == result[m]) {
  7. j--;
  8. break;
  9. }
  10. }
  11. }
  12. }

代码中for循环和if语句嵌套的层次太多,如果不是随机取10个数,而是取更多的数的话,这样for循环的次数太多了,代码执行的时间也会变长。所以思考使用空间换时间的方式,来简化代码,并且减少语句的嵌套,代码如下:

  1. var result = [];
  2. var temp = [];
  3. var len = 0;
  4. var num;
  5. while(len < 10){
  6. num = Math.round( Math.random() * 100 );
  7. if(!temp[num]) {
  8. temp[num] = 1;
  9. result.push(num);
  10. len++;
  11. }
  12. }
  评论这张
 
阅读(326)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018