实现方法一:
function randomSort(arr) {
// 对数组进行随机打乱,
// return大于0则交换位置,小于等于0就不交换
// 由于Math.random()产生的数字为0-1之间的数
// 所以0.5-Math.random()的是否大于0是随机结果
// 进而实现数组的随机打乱
var array = arr.slice();
array.sort(function () {
return 0.5 - Math.random();
})
// 在控制台输出结果
console.log(array);
}
// 调用排序方法
randomSort([1,2,3,4,5,6,7]);
其中两次运行的输出结果:
实现方法二:
function getRandomInt(min, max) {
// 产生一个大于等于min小于等于max的随机数
return Math.floor(Math.random() * (max - min + 1) + min)
}
function shuffle(arr) {
let newArr = arr.slice(), length = arr.length
for (let i = 0; i < length; i++) {
let j = getRandomInt(0, length - 1)
// 将 newArr[i]与newArr中随机的项交换
let t = newArr[i]
newArr[i] = newArr[j]
newArr[j] = t
}
return newArr
}