随机排列指定数组的值,返回一个新的数组。
使用 Fisher-Yates 算法对数组元素进行重新排序,根据 Lodash implementation, 但作为纯函数。
const shuffle = ([...arr]) => { let m = arr.length; while (m) { const i = Math.floor(Math.random() * m--); [arr[m], arr[i]] = [arr[i], arr[m]]; } return arr; };
const foo = [1, 2, 3]; shuffle(foo); // [2,3,1] console.log(foo); // [1,2,3]
更多代码 JavaScript 实用代码片段 请查看 https://www.html.cn/30-seconds-of-code/
相关推荐
2.前端开发技术文章
最新评论
写的挺好的
有没有兴趣翻译 impatient js? https://exploringjs.com/impatient-js/index.html
Flexbox playground is so great!
感谢总结。
awesome!
这个好像很早就看到类似的文章了
比其他的教程好太多了
柯理化讲的好模糊…没懂