国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 08:54:50
字體:
來源:轉載
供稿:網友

一、常規算法

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

示例代碼

/**     從數組中隨機抽取數據 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;   }

二、洗牌算法

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

示例代碼

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高要市| 青海省| 溧阳市| 澜沧| 新晃| 岚皋县| 福安市| 绥芬河市| 涞源县| 唐河县| 盐津县| 镇巴县| 久治县| 湟中县| 黄骅市| 二手房| 靖边县| 铅山县| 逊克县| 昌宁县| 龙南县| 英吉沙县| 沅陵县| 华阴市| 砀山县| 栖霞市| 漳浦县| 宜川县| 阿图什市| 麻栗坡县| 综艺| 香港 | 休宁县| 嘉黎县| 太湖县| 哈巴河县| 蒲江县| 沙坪坝区| 张家界市| 金沙县| 两当县|