JS 数组随机洗牌的实例代码
网络 2018-10-15 1237
下面通过一段代码给大家介绍js 数组随机洗牌的方法,具体代码如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | //先定义一个某数值范围内的随机数 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 数组随机洗牌的实例代码,希望对大家有所帮助
上一篇:JS中判断字符串存在和非空的方法
下一篇:详解js中Array的方法及技巧