當(dāng)然可以。您可以使用Fisher-Yates洗牌算法來(lái)實(shí)現(xiàn)隨機(jī)排序。以下是使用JavaScript實(shí)現(xiàn)的示例:
function shuffleArray(array) {
let currentIndex = array.length, temporaryValue, randomIndex;
// 當(dāng)還剩元素待處理時(shí)
while (0 !== currentIndex) {
// 選取一個(gè)剩余元素
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// 交換當(dāng)前元素與選取的元素
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
// 使用示例
const myArray = [1, 2, 3, 4, 5];
const shuffledArray = shuffleArray(myArray);
console.log(shuffledArray);
這個(gè)函數(shù)接受一個(gè)數(shù)組作為參數(shù),然后使用Fisher-Yates算法對(duì)其進(jìn)行隨機(jī)排序。您可以用這個(gè)函數(shù)來(lái)隨機(jī)排序任何數(shù)組。