JS 打乱数组顺序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function rand(arr) { var len = arr.length //首先从最大的数开始遍历,之后递减 for ( var i = arr.length - 1; i >= 0; i--) { //随机索引值randomIndex是从0-arr.length中随机抽取的 var randomIndex = Math.floor(Math.random() * (i + 1)); //下面三句相当于把从数组中随机抽取到的值与当前遍历的值互换位置 var itemIndex = arr[randomIndex]; arr[randomIndex] = arr[i]; arr[i] = itemIndex; } //每一次的遍历都相当于把从数组中随机抽取(不重复)的一个元素放到数组的最后面(索引顺序为:len-1,len-2,len-3......0) return arr; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步