for_weber的博客

爱打篮球,爱撸代码,爱打游戏,爱装作一本正经的样子。

JS实现数组的随机重排

要求:对一个数组实现随机排列。特殊的业务场景可能会用到。我这里贴出我想到的一个实现方法,并欢迎大家集思广益。

//定义原数组、返回的新数组、变量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)

阅读更多
个人分类: javascript
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

JS实现数组的随机重排

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭