js 数组随机洗牌
2023-09-14 09:06:33 时间
//先定义一个某数值范围内的随机数
function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) }
// 克隆数组方法
/** * 克隆数组 * @param {array} arr 原数组 * @return {array} 新数组 */ function cloneArr(arr) { // 从第一个字符就开始 copy // slice(start,end) 方法可从已有的数组中返回选定的元素。 return arr.slice(0) }
//洗牌
function shuffle(arr, flag = false) { // console.log('arr',arr) let newArr = [] flag ? (newArr = arr) : (newArr = cloneArr(arr)) for (let i = 0; i < newArr.length; i++) { let j = getRandom(0, i) let temp = newArr[i] newArr[i] = newArr[j] newArr[j] = temp } // console.log('arr',arr,newArr) return newArr }
//调用
shuffle(list)//list一般为数组对象
相关文章
- 【说站】js中reduce在数组的使用
- 【愚公系列】2022年09月 微信小程序-three.js绘制多维旋转正方体
- JS面试必问-JS原型及原型链
- Js判断数组中是否存在某个元素「建议收藏」
- java如何遍历数组中的元素_js数组遍历方法
- js删除数组中的一个元素_js数组包含某个元素
- 为了实现客服系统关键词分隔符切分,封装js实现根据多个分隔符分隔字符串为数组
- JS手撕(二) 数组扁平化、浅拷贝、深拷贝
- JS小技巧,如何使用内置函数对数组内容进行排序
- 原生 JS 实现 HTML 转 Markdown,以及其实现逻辑(html2md.js 或 html2markdown.js)
- js中使用ajax请求数据的时候,如何实现return详解编程语言
- JS动态引入js、CSS动态创建script/link/style标签详解编程语言
- JS获取数组长度(length属性)
- Linux上的JS压缩工具(js压缩工具linux)
- Oracle中JS的优势让数据库性能提升(oracle中 js)
- 用js实现随机返回数组的一个元素
- js鼠标拖动对象可让任何div实现拖动效果
- 网页图片延时加载的js代码
- js判断输入是否为正整数、浮点数等数字的函数代码
- js对数组中的数字从小到大排序实现代码
- 原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
- js实现无需数据库的县级以上联动行政区域下拉控件
- js获取多个tagname的节点数组
- js克隆对象、数组的常用方法介绍
- js数组转json并在后台对其解析具体实现
- 从数组中随机取x条不重复数据的JS代码
- JS数组去重与取重的示例代码
- js调用后台、后台调用前台等方法总结
- javascript写的异步加载js文件函数(支持数组传参)
- js数组的操作指南