数组随机排序的方法如下
方法一
1.用循环遍历数组元素
2.生成一个随机数字 用变量保存
3.然后将该项和后面的一项进行交换
//
let arr = [1,2,3,4,5,6,7,8,9,10]
function random(arr){
// 进行 循环遍历数组元素
for(let i = 0;i<arr.length;i++){
// 生成一个随机数 * 数组的长度
let rand = Math.ceil(Math.random()*arr.length)
// 进行交换
// 变量保存数组的随机下标的一个元素
let sum = arr[rand]
// 再将原数组下标的元素 赋值 给 新数组随机下标的元素
arr[rand] = arr[i]
// 随机下标的元素 赋值 到袁数组中
arr[i] = sum
}
return arr
}
console.log(random(arr))
方法二
当原来的数组还存在的时候,使用Math.random()生成一个随机数,然后使用 Math.random() * arr.length向下取整,得到一个下标,然后将其放入另一个数 组中,从而实现打乱顺序。
let arr = [1,2,3,4,5,6,7,8,9,10]
function ranSort(arr) {
let newArr = []
while (arr.length > 0) {
let ranIndex = Math.floor(Math.random() * arr.length)
result.push(arr[ranIndex])
arr.splice(ranIndex, 1)
}
return newArr
}
console.log(ranSort(arr))
方法三
使用数组中的sort方法。
let arr = [1,2,3,4,5,6,7,8,9,10]
arr.sort(function(){return Math.random() - 0.5})
console.log(arr)