數組中隨機交換順序
function shuffle(arr) {
var i,
j,
temp;
for (i = arr.length - 1; i > 0; i--) {
j = Math.floor(Math.random() * (i + 1));
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
return arr;
};
shuffle(['a','b','c','d','e','f','g'])
數組中隨機獲取一個數值
var a = [1,2,3,3,4,5,6,7,8,9];
function sendNum(arr)
{
return arr[Math.floor(Math.random()*arr.length)];
}
sendNum(a);
數組中隨機獲取幾個數值方法1
function getArrItem(arr, num) {
var temp_array = new Array();
for (var index in arr) {
temp_array.push(arr[index]);
}
var return_array = new Array();
for (var i = 0; i < num; i++) {
if (temp_array.length > 0) {
var arrIndex = Math.floor(Math.random() * temp_array.length);
return_array[i] = temp_array[arrIndex];
temp_array.splice(arrIndex, 1);
} else {
break;
}
}
return return_array;
}
getArrItem([1,2,3,4,5,6,7,8,9], 6); // 隨機獲取6個值
數組中隨機獲取幾個數值方法2
function shuffle(array) {
var m = array.length,
t, i;
// 若是還剩有元素…
while (m) {
// 隨機選取一個元素…
i = Math.floor(Math.random() * m--);
// 與當前元素進行交換
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
// 用法
var message = shuffle([1,2,3,4,5,6,7,8,9]); // 隨機交換順序
message = message.slice(0, 6); // 取六個值