原理:从就数组中随机选出一个数值组成新的数组、并且删除就数组中已经被取出来的值
// 时间复杂度O(n2)function shuffle (arr) {let newArr = []while(arr.length) {let index = Math.floor(Math.random() * arr.length)let item = arr.splice(index, 1)newArr.push(item)}return newArr}// 时间复杂度O(n)function shuffle (arr) {let len = arr.lengthlet index,tempwhile(len) {index = Math.floor(Math.random() * len)len --;temp = arr[len];// 拿到最后的元素arr[len] = arr[index]; // 将找到的元素和最后一个元素做替换arr[index] = temp;// 将最后的那个元素放在倒数第二// es6的方式互换// [arr[len], arr[index]] = [arr[index], arr[len]]}}// Array.sort()[0,4,5,6,3,2,9].sort(function () {return .5 - Math.random()})
