JavaScript數(shù)組對象實現(xiàn)增加一個返回隨機元素的方法
更新時間:2015年07月27日 17:33:32 作者:南漂一卒
這篇文章主要介紹了JavaScript數(shù)組對象實現(xiàn)增加一個返回隨機元素的方法,涉及javascript針對數(shù)組及隨機數(shù)的相關操作技巧,需要的朋友可以參考下
本文實例講述了JavaScript數(shù)組對象實現(xiàn)增加一個返回隨機元素的方法。分享給大家供大家參考。具體如下:
核心特性:
概率隨機、順序隨機、隨機冒泡
本方法 來自個人手寫 JavaScript 的實踐,只涉及 JavaScript 1.5(ECMAscript 3 國際標準)語言本身,在所有 JS 引擎實現(xiàn)中通用~
為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);
};
})();
使用示例:
// 【概率隨機】 // // 元素的返回 完全隨機,出現(xiàn)幾率不定,有限次調(diào)用不保證能返回所有元素 var iElement = iArray.random(); // 【順序隨機】 // // 元素的返回 有周期性,在每個周期內(nèi),元素都出現(xiàn)一次,但順序不定 var iElement = iArray.random(true); // 【隨機冒泡】 // // 每次調(diào)用都從原數(shù)組中隨機取出一個元素返回(原數(shù)組 就地改變) var iElement = iArray.random(true, true);
希望本文所述對大家的javascript程序設計有所幫助。
相關文章
JavaScript實現(xiàn)系統(tǒng)防掛機(無操作彈窗)的示例詳解
在一些學習系統(tǒng),或者考試系統(tǒng)中。一旦出現(xiàn)長時間未操作,就會判定這個人不在場。所以就會進行退出系統(tǒng),處于對安全和系統(tǒng)負擔還有業(yè)務的需求。本文就來用JavaScript做一個系統(tǒng)防掛機功能,需要的可以參考一下2023-01-01
淺談高大上的微信小程序中渲染html內(nèi)容—技術分享
大部分Web應用的富文本內(nèi)容都是以HTML字符串的形式存儲的,那么在微信小程序中,應當如何渲染這部分內(nèi)容呢?感興趣的小伙伴們可以參考一下2018-10-10
JavaScript中常見的字符串操作函數(shù)及用法匯總
這篇文章主要介紹了JavaScript中常見的字符串操作函數(shù)及用法,實例匯總了javascript常見的字符串轉(zhuǎn)換、分割、查詢、替換等技巧,非常具有實用價值,需要的朋友可以參考下2015-05-05

