最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript從數(shù)組中隨機取出不同元素的兩種方法

 更新時間:2016年09月22日 14:45:35   作者:garfieldzf  
這篇文章給大家分享了兩種Javascript從數(shù)組中隨機取出不同元素的方法,大家可以都學(xué)習(xí)學(xué)習(xí),這樣更能有助于大家的學(xué)習(xí)和理解,下面來一起看看吧

一、常規(guī)算法

第一種方法較常規(guī),經(jīng)測試有bug,數(shù)據(jù)量大以后隨機幾次返回的對象直接是function而不是object。 當(dāng)然簡單數(shù)據(jù)類型應(yīng)該沒有這個問題。

示例代碼

/**
     從數(shù)組中隨機抽取數(shù)據(jù) 2016-09-09
   **/
   function getArrItem(arr, num) {
     var temp_array = new Array();
     for (var index in arr) {
       temp_array.push(arr[index]);
     }
     var return_array = new Array();
     for (var i = 0; i < num; i++) {
       if (temp_array.length > 0) {
         var arrIndex = Math.floor(Math.random() * temp_array.length);
         return_array[i] = temp_array[arrIndex];
         temp_array.splice(arrIndex, 1);
       } else {
         break;
       }
     }
     return return_array;
   }

二、洗牌算法

第二種是使用洗牌算法,親測有效。

示例代碼

/**
      隨機化原數(shù)組
    **/
    function shuffle(array) {
      var m = array.length,
        t, i;
      // 如果還剩有元素…
      while (m) {
        // 隨機選取一個元素…
        i = Math.floor(Math.random() * m--);
        // 與當(dāng)前元素進行交換
        t = array[m];
        array[m] = array[i];
        array[i] = t;
      }
      return array;
    }
 
//用法
var message = shuffle(totalArr);
message = message.slice(0, 3);

以上就是為大家總結(jié)的兩種Javascript從數(shù)組中隨機取出不同元素的方法,希望這篇文章能對大家的學(xué)習(xí)或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

最新評論

镇赉县| 德庆县| 蒙阴县| 呼伦贝尔市| 吉安县| 高碑店市| 泽州县| 开平市| 桐柏县| 南京市| 绿春县| 扶绥县| 达拉特旗| 禄丰县| 太白县| 龙门县| 剑川县| 阿城市| 斗六市| 新田县| 荔波县| 岳阳市| 芦山县| 平山县| 莱芜市| 琼结县| 河间市| 南雄市| 乌兰浩特市| 神池县| 邯郸市| 汨罗市| 沙田区| 安西县| 积石山| 石台县| 宁波市| 读书| 大石桥市| 西安市| 梁平县|