JavaScript中實(shí)現(xiàn)PHP的打亂數(shù)組函數(shù)shuffle實(shí)例
PHP 里面有個(gè)非常方便的打亂數(shù)組的函數(shù) shuffle() ,這個(gè)功能在許多情況下都會(huì)用到,但 javascript 的數(shù)組卻沒有這個(gè)方法,沒有不要緊,可以擴(kuò)展一個(gè),自己動(dòng)手,豐衣足食嘛。
請(qǐng)刷新頁面查看隨機(jī)排序效果。
<script type="text/javascript">
//<![CDATA[
// 說明:為 Javascript 數(shù)組添加 shuffle 方法
var shuffle = function(v){
for(var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j] = x);
return v;
};
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
document.write("A = ", a.join(","), "<br />shuffle(A) = ", shuffle(a));
//]]>
</script>
輸出結(jié)果:
A = 0,1,2,3,4,5,6,7,8,9
shuffle(A) = 1,5,0,9,2,3,6,8,4,7
A.shuffle() = 0,4,2,8,5,1,3,6,9,7
通過prototype 給數(shù)組添加一個(gè)方法:
<script type="text/javascript">
//<![CDATA[
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
if (!Array.prototype.shuffle) {
Array.prototype.shuffle = function() {
for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
return this;
};
}
document.write("A = ", a.join(","), "<br />A.shuffle() = ", a.shuffle());
//]]>
</script>
- Javascript 數(shù)組添加 shuffle 方法的實(shí)現(xiàn)代碼
- JS生成隨機(jī)打亂數(shù)組的方法示例
- JavaScript隨機(jī)打亂數(shù)組順序之隨機(jī)洗牌算法
- JavaScript中實(shí)現(xiàn)最高效的數(shù)組亂序方法
- javascript數(shù)組快速打亂重排的方法
- JS隨即打亂數(shù)組實(shí)現(xiàn)代碼
- JavaScript中數(shù)組的排序、亂序和搜索實(shí)現(xiàn)代碼
- JavaScript數(shù)組的快速克隆(slice()函數(shù))和數(shù)組的排序、亂序和搜索(sort()函數(shù))
- JavaScript實(shí)現(xiàn)shuffle數(shù)組洗牌操作示例
相關(guān)文章
js中arguments,caller,callee,apply的用法小結(jié)
本篇文章只要是對(duì)js中arguments,caller,callee,apply的用法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01
javascript 一段左右兩邊隨屏滾動(dòng)的代碼
在不少的網(wǎng)站使用了這種技術(shù),一般就是兩邊的一些三個(gè)小塊排一起的廣告。2009-06-06
簡(jiǎn)易 Javascript 調(diào)試包 Debug包
來看一個(gè)簡(jiǎn)易的 Javascript 調(diào)試包 jscript.debug.js,包含兩個(gè)函數(shù)2010-10-10
擴(kuò)展js對(duì)象數(shù)組的OrderByAsc和OrderByDesc方法實(shí)現(xiàn)思路
js的擴(kuò)展方法是基于原型的,如Array.prototype.XXXX就是給Array擴(kuò)展XXX方法,然后數(shù)組都能使用這個(gè)方法了,在對(duì)象數(shù)組里面經(jīng)常有根據(jù)屬性來進(jìn)行排序的,升序,降序的,下面與大家分享自己寫的一個(gè)2013-05-05
javascript鼠標(biāo)滑過顯示二級(jí)菜單特效
這篇文章主要為大家詳細(xì)介紹了javascript鼠標(biāo)滑過顯示二級(jí)菜單特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07
JS實(shí)現(xiàn)遮罩層效果的簡(jiǎn)單實(shí)例
這篇文章介紹了JS實(shí)現(xiàn)遮罩層效果的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-11-11
詳解JavaScript中的強(qiáng)制類型轉(zhuǎn)換
這篇文章主要介紹了JavaScript中的強(qiáng)制類型轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

