DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript中實現PHP的打亂數組函數shuffle實例
JavaScript中實現PHP的打亂數組函數shuffle實例
編輯:關於JavaScript     

PHP 裡面有個非常方便的打亂數組的函數 shuffle() ,這個功能在許多情況下都會用到,但 javascript 的數組卻沒有這個方法,沒有不要緊,可以擴展一個,自己動手,豐衣足食嘛。

請刷新頁面查看隨機排序效果。

復制代碼 代碼如下:
<script type="text/javascript">
//<![CDATA[
// 說明:為 Javascript 數組添加 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>

輸出結果:

復制代碼 代碼如下:
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 給數組添加一個方法:

復制代碼 代碼如下:
<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>

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved