有兩種不同的方式實現:
一、隨機取單個,二、讓整個數組隨機排序
注意:[ ] 符號在javascript中定義一個數組,{ } 則定義一個對象
隨機取得數組里面的某一個:
代碼如下:
<script type="text/javascript">
//隨機取得數組中的一個
var Arr = ["a","b","c","d"];
var n = Math.floor(Math.random() * Arr.length + 1)-1;
alert(Arr[n]);
</script>
隨機排序整個數組Array:
代碼如下:
<script type="text/javascript">
//隨機排序整個數組
var Arr1=[1,2,3,4,5,6,7,8,9,10,22,33,55,77,88,99];
Arr1.sort(function(){return Math.random()>0.5?-1:1;});
alert(Arr1);
</script>
==========================================
PHP 里面有個非常方便的打亂數組的函數 shuffle() ,這個功能在許多情況下都會用到,但 javascript 的數組卻沒有這個方法,沒有不要緊,可以擴展一個,自己動手,豐衣足食嘛。
代碼如下:
<script type="text/javascript">
//<![CDATA[
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><br>shuffle(A) = ", shuffle(a));
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("<br>A.shuffle() = ", a.shuffle());
//]]>
</script>
新聞熱點
疑難解答