JS隨機打亂陣列的方法
阿新 • • 發佈:2018-12-19
JS生成隨機打亂陣列的方法示例
方法一:這個方法打得比較亂
// An highlighted block
var arr = [4,1,67,12,45,121,3];
arr.sort(function() {
return (0.5-Math.random());
});
console.log(arr);
這裡介紹下sort()函式,在JS中Array物件裡內建了一個函式:
arrayobj.sort([sortfunction])
此方法將 Array 物件進行適當的排序;在執行過程中並不會建立新的 Array 物件。
sortFunction為可選項。
是用來確定元素順序的函式的名稱。如果這個引數被省略,那麼元素將按照 ASCII 字元順序進行升序排列。 sortFunction方法有兩個引數。分別代表每次排序比較時的兩個陣列項。sort()排序時每次比較兩個陣列項都回執行這個引數,並把兩個比較的陣列項作為引數傳遞給這個函式。當函式返回值為1的時候就交換兩個陣列項的順序,否則就不交換。
方法二:最精簡程式碼的打亂方法:
var arr = [4,1,67,12,45,121,3];
function randArr(num) {
for (var i = 0; i < num; i++) {
var iRand = parseInt(num * Math.random());
var temp = arr[i];
arr[i] = arr[iRand];
arr[iRand] = temp;
}
return arr;
}
//測試:
console.log(randArr(arr.length) );