zoukankan      html  css  js  c++  java
  • JS案例之8——从一个数组中随机取数

    近期项目中遇到一个需求,从一个列表中随机展示列表的部分内容,需求不大,JS也非常容易实现。主要是运用到了Math对象的random方法,和Array的splice方法。

    思路是先新建一个数组,存放所有的列表,然后算出随机数,从数组中取出这个随机索引对应的值,然后组成一个随机数组。

    源代码如下:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <meta http-equiv="Content-Type" Content="text/html; charset=utf-8;">
     5 <title>从一个数组中随机取数</title>
     6 <meta name="author" content="rainna" />
     7 <meta name="keywords" content="rainna's js lib" />
     8 <meta name="description" content="js" />
     9 </head>
    10 
    11 <body>
    12 <script>
    13 //count 数组的总长度    randomCount 随机显示的数量 
    14 var selRandomNum = function(count,randomCount){  
    15     var count = count || 10;
    16     var randomCount = randomCount || 3;
    17     
    18     var totalArray = [],randomArray = [];
    19     for(var i=0,l=count;i<l;i++){
    20         totalArray.push(i);
    21     }
    22     for(var i=0,l=randomCount;i<l;i++){
    23         var randomIndex = Math.floor(Math.random()*totalArray.length);
    24         var selectIndex = totalArray.splice(randomIndex,1)[0];
    25         randomArray.push(selectIndex);    
    26     }
    27     console.log(totalArray + '-----' + randomArray);
    28 }
    29 
    30 selRandomNum();
    31 </script>
    32 </body>
    33 </html>
  • 相关阅读:
    less-循环写法
    利用IntersectionObserver完成懒加载、加载更多
    通过is切换组件
    css3-背景渐变
    css-六边形、平行四边形、扇形实现
    vue-利用递归组件完成一个树形组件
    event loop 事件循环
    vue-组件间通信
    video 背景图平铺
    JS 事件委托
  • 原文地址:https://www.cnblogs.com/zourong/p/3977083.html
Copyright © 2011-2022 走看看