欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript數組對象實現增加一個返回隨機元素的方法

 更新時間:2015年07月27日 17:33:32   作者:南漂一卒  
這篇文章主要介紹了JavaScript數組對象實現增加一個返回隨機元素的方法,涉及javascript針對數組及隨機數的相關操作技巧,需要的朋友可以參考下

本文實例講述了JavaScript數組對象實現增加一個返回隨機元素的方法。分享給大家供大家參考。具體如下:

核心特性:

概率隨機、順序隨機、隨機冒泡

本方法 來自個人手寫 JavaScript 的實踐,只涉及 JavaScript 1.5(ECMAscript 3 國際標準)語言本身,在所有 JS 引擎實現中通用~

為Array對象新增random方法:

(function () {
  function Random_SN(iArray) {
    return Math.floor(Math.random() * iArray.length);
  }
  function Probability_Random(iArray) {
    var Random_Int;
    if (iArray.Random_SN === undefined)
      iArray.Random_SN = -1;
    do Random_Int = Random_SN(iArray);
    while ( Random_Int == iArray.Random_SN )
    iArray.Random_SN = Random_Int;
    return iArray[Random_Int];
  }
  function Sequence_Random(iArray) {
    return iArray.splice(Random_SN(iArray), 1)[0];
  }
  Array.prototype.random = function (Mode, Pop) {
    if (! Mode)
      return Probability_Random(this);
    if (! Pop) {
      if (! (this.Random_Queue && this.Random_Queue.length))
        this.Random_Queue = [].concat(this);
      return Sequence_Random(this.Random_Queue);
    }
    return Sequence_Random(this);
  };
})();

使用示例:

// 【概率隨機】
//
// 元素的返回 完全隨機,出現幾率不定,有限次調用不保證能返回所有元素
var iElement = iArray.random();
// 【順序隨機】
//
// 元素的返回 有周期性,在每個周期內,元素都出現一次,但順序不定
var iElement = iArray.random(true);
// 【隨機冒泡】
//
// 每次調用都從原數組中隨機取出一個元素返回(原數組 就地改變)
var iElement = iArray.random(true, true);

希望本文所述對大家的javascript程序設計有所幫助。

相關文章

  • JavaScript實現系統(tǒng)防掛機(無操作彈窗)的示例詳解

    JavaScript實現系統(tǒng)防掛機(無操作彈窗)的示例詳解

    在一些學習系統(tǒng),或者考試系統(tǒng)中。一旦出現長時間未操作,就會判定這個人不在場。所以就會進行退出系統(tǒng),處于對安全和系統(tǒng)負擔還有業(yè)務的需求。本文就來用JavaScript做一個系統(tǒng)防掛機功能,需要的可以參考一下
    2023-01-01
  • js 調用百度分享功能

    js 調用百度分享功能

    本文主要介紹了js調用百度分享功能的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • JS獲取并處理php數組的方法實例分析

    JS獲取并處理php數組的方法實例分析

    這篇文章主要介紹了JS獲取并處理php數組的方法,結合實例形式分析了php針對數組的創(chuàng)建、轉換以及js處理數組的接收、遍歷、轉換等相關操作技巧,需要的朋友可以參考下
    2018-09-09
  • JavaScript實現橫向滑出的多級菜單效果

    JavaScript實現橫向滑出的多級菜單效果

    這篇文章主要介紹了JavaScript實現橫向滑出的多級菜單效果,涉及JavaScript數學運算及頁面元素樣式動態(tài)變換的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • 移動Web中圖片自適應的兩種JavaScript解決方法

    移動Web中圖片自適應的兩種JavaScript解決方法

    這篇文章主要介紹了移動Web中圖片自適應的兩種JavaScript解決方法,本文針對手機站點中的圖片自適應問題,給出了圖集解決方法和單篇文章的解決方法,需要的朋友可以參考下
    2015-06-06
  • 淺談高大上的微信小程序中渲染html內容—技術分享

    淺談高大上的微信小程序中渲染html內容—技術分享

    大部分Web應用的富文本內容都是以HTML字符串的形式存儲的,那么在微信小程序中,應當如何渲染這部分內容呢?感興趣的小伙伴們可以參考一下
    2018-10-10
  • JS實現文本比較差異的示例代碼

    JS實現文本比較差異的示例代碼

    內部系統(tǒng)上線了一個發(fā)版記錄發(fā)版內容的功能,維護發(fā)版記錄的同事提出一個可以展示前后文本差異的優(yōu)化需求,?使的每次變更前可以確認新增了哪些,或者刪除了哪些內容,所以本文給大家介紹了基于JS實現文本比較差異,需要的朋友可以參考下
    2023-12-12
  • JavaScript中常見的字符串操作函數及用法匯總

    JavaScript中常見的字符串操作函數及用法匯總

    這篇文章主要介紹了JavaScript中常見的字符串操作函數及用法,實例匯總了javascript常見的字符串轉換、分割、查詢、替換等技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • 10 種最常見的 Javascript 錯誤(頻率最高)

    10 種最常見的 Javascript 錯誤(頻率最高)

    本文是小編給大家收藏的JavaScript 中頻度最高的 10 種錯誤,我們會告訴你什么原因導致了這些錯誤,以及如何防止這些錯誤發(fā)生。需要的朋友參考下
    2018-02-02
  • Javascript加載速度慢的解決方案

    Javascript加載速度慢的解決方案

    在網站里面會加載一些js代碼,統(tǒng)計啊,百度廣告等等,結果弄得頁面加載速度很慢,下面有個不錯的解決方法,大家可以參考下
    2014-03-03

最新評論