洗牌函数[打乱数组的顺序] slice()的新运用 [原来arr.slice(start, end) 的start不是必需的]
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min)
}
function shuffle(arr) {
let _arr = arr.slice() // 创建一个源数组的副本
for (let i = 0; i < _arr.length; i++) {
let j = getRandomInt(0, i)
let t = _arr[i]
_arr[i] = _arr[j]
_arr[j] = t
}
return _arr
}
shuffle(['a','c','m','n','1']) // ["m", "c", "a", "n", "1"]

洗牌函数[打乱数组的顺序] slice()的新运用 [原来arr.slice(start, end) 的start不是必需的]的更多相关文章
- Hard 随机洗牌函数 @CareerCup
第i个元素和index在[i,length-1]之间的一个数随机交换 package Hard; import CtCILibrary.AssortedMethods; /** * * Write a ...
- OpenCL洗牌函数shuffle
在OpenCL中,经常会碰到会对向量的多个分量进行交叉运算的情况,比如 float4 d4; //input float scale; //input float2 mix_0 = mix((floa ...
- iOS --随机打乱一个数组的顺序 获得一个新的数组
NSArray* arr = @[@"1",@"2",@"3"]; arr = [arr sortedArrayUsingComparato ...
- js打乱数组的实战应用
文章首发于: https://www.xiabingbao.com/post/javascript/js-random-array.html 在js中,能把数组随机打乱的方法有很多,每个方法都有自己的 ...
- js 数组随机洗牌
//先定义一个某数值范围内的随机数 function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) + ...
- 文本数据挖掘---课后作业shuffle函数洗牌C++
题目: 代码如下:#include <iostream> #include <random> #include <algorithm> #include <v ...
- 打乱数组——shuffle
在学习vue移动端音乐项目时,看到一个打乱数组函数,感觉很有意思就记录一下(意外发现:slice是个有趣的知识点) 原理:遍历数组,(let i = 0; i < _arr.length; i+ ...
- js 随机打乱数组
假如有一个数组: var arr1=['a','b','c','d','e','f','g']; 需要将它进行随机打乱,网上好多都是用: arr1.sort(function(){ return 0. ...
- 实现纸牌游戏的随机抽牌洗牌过程(item系列几个内置方法的实例)
实现纸牌游戏的随机抽牌洗牌过程(item系列几个内置方法的实例) 1.namedtuple:命名元组,可以创建一个没有方法只有属性的类 from collections import namedtup ...
随机推荐
- python 在linux上面安装beautifulsoup4(bs4) No module named 'bs4'
续费了我的服务器 重做系统成了Linux服务器 然后想把Windown上的Python脚本放上去运行 但是出现了 No module named 'bs4' 的问题 pip install bs4 试 ...
- Linux的一些命令(CentOS7)
注:下面的文件名和文件夹名字都支持通配符 init 0:关机 init 6:重启 clear:清屏 ip addr:查看ip地址 passwd 用户名:修改指定用户的密码 时间相关的命令: date: ...
- Springboot项目搭建(2)-整合静态文件
1,引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- VBS微信轰炸
打开windows命令界面输入notepad将此vbs脚本复制粘贴到记事本,保存并设置后缀名为.vbs,进入微信或者QQ在聊天界面复制好要发送的文字,最后双击运行vbs脚本并把鼠标移入聊天框,最后按发 ...
- mysql成功的远程连接
1.在虚拟机上的window7中安装mysql,版本mysql-5.7.27-win32,可以是解压版或者是安装版的, MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi ...
- mongodb 用户指引
维护人:陈权 一.mongodb install on linuxcurl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...
- 关于报错:Warning: Cannot modify header information - headers already sent by (output started at
8月5日,第一个项目即将完成,测试时,发现登录功能会出现小问题:记住密码的时候会报错 Warning: Cannot modify header information - headers alrea ...
- maven打jar包(包括依赖jar)
<build> <plugins> <plugin> <artifactId> maven-assembly-plugin </artifactI ...
- HDU 4699 Editor(模拟 对顶栈)
题目大意: 给定一个整数序列 维护5种操作 次数<1e6 I x: 光标位置插入x 然后光标位于x之后 D: 删除光标前一个数 L: 光标左移 R: 光标右移 Q k: 询问位置k之前的最大前缀 ...
- leetcode 0217
目录 ✅ 682. 棒球比赛 描述 解答 cpp py ✅ 999. 车的可用捕获量 描述 解答 c other java todo py ✅ 118. 杨辉三角 描述 解答 cpp py ✅ 258 ...