要求:对一个数组实现随机排列。特殊的业务场景可能会用到。我这里贴出我想到的一个实现方法,并欢迎大家集思广益。
//定义原数组、返回的新数组、变量selectItem(存放每次从oldArray中取出的值) let [oldArray, newArray, selectItem] = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [], null] let len = oldArray.length while(newArray.length<len){ //随机生成一个0~9之间的数字并从oldArray中取值 selectItem = oldArray[Math.floor(Math.random()*10)] //判断新数组中是否存在此次取出的值,若存在说明不可用进入下次循环,若不存在则存入新数组 if(newArray.indexOf(selectItem) < 0){ newArray.push(selectItem) } } //新数组 console.log(newArray)