PHP 裡面有個非常方便的打亂數組的函數shuffle() ,這個功能在許多情況下都會用到,但javascript 的數組卻沒有這個方法,沒有不要緊,可以擴展一個,自己動手,豐衣足食嘛。 請刷新頁面查看隨機排序效果。 複製程式碼 程式碼如下: <br /> //<![CDATA[<br /> // 說明:為 Javascript 陣列新增 shuffle 方法<br /> <br /> var shuffle = function(v){<br /> for(var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j ] = x);<br /> return v;<br /> };<br /> <br /> var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];<br /> <br /> document.write("A = ", a.join(","), "<br />shuffle(A) = ", shuffle(a));<br /> <br /> //]]><br /> 輸出結果: 複製程式碼 程式碼如下: 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 在陣列中加入一個方法: 複製程式碼 程式碼如下: <br /> //<![CDATA[<br /> <br /> var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];<br /> <br /> if (!Array.prototype.shuffle) { <br /> Array.prototype.shuffle = function() {<br /> for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j ] = x);<br /> return this;<br /> };<br /> }<br /> <br /> document.write("A = ", a.join(","), "<br />A.shuffle() = ", a.shuffle());<br /> <br /> //]]><br />