let average=(...av)=>av.reduce((a,b)=>a+b)/av.length
console.log(average(5,6,7,8,9));//7
二.打乱数组中数字顺序
方法1.for循环遍历
let arr = [1, 2, 3, 4, 5, 6, 12, 15, 23, 28]
function fn(a) {
//console.log(a);
//遍历数组下标
for (let i = 0, l = a.length; i < l; i++) {
//利用Math.random()方法产生随机数下标
let rand = Math.floor(Math.random() * l)
let temp = a[i]
a[i] = a[rand]
a[rand] = temp
}
}
fn(arr)
console.log(arr)//(10) [1, 12, 23, 3, 2, 4, 28, 5, 6, 15],答案不唯一,每刷新一次页面,就会产生新的排列.
方法2.sort排序
let arr=[1,3,5,8,10,14,16,18]
function shuffle(a){
return a.sort(()=>Math.random()-0.5)
}
console.log(arr);//未调用函数前,仍然是原数组:1,3,5,8,10,14,16,1
shuffle(arr)
console.log(arr);//调用函数后,数字排列随机
方法3:打乱字符串顺序
let str='abcdefg'
String.prototype.gn=function(){
return this.split("").sort(()=>Math.random()-0.5).join("")
}
new String
console.log(str.gn())//随机结果:ecbafdg