js中产生随机不重复元素数组的方法

最近想开发个小项目,其中要用到一个元素不重复的随机数组,就是下面这种数组

Array(16)0: 9 1: 15 2: 11 3: 2 4: 12 5: 3 6: 10 7: 7 8: 13 9: 6 10: 8 11: 4 12: 5 13: 14 14: 1 15: 16

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			let num=[] //定义一个空数组
			while(num.length<16){//不断产生随机数字
				let ran=Math.floor(Math.random()*16+1)
				//Math.floor向上取整,Math.random产生0到1不包含1的随机数
				// 比如随机产生一个0.9,0.9*16=14.4,向上取整后就是15,在加1就是16
				// 所以上面这个表达式就是求1到16范围内的随机数
				if(num.find(x=>x===ran)===undefined){
				// 去除重复元素
				// find方法,把数组的元素遍历,返回符合的元素,没有返回undefined,
				// 这里是如果数组里没有这个新产生的随机数,就把它加入数组
					num.push(ran)
				}
				// if(num.some(x=>x===ran)===false){
				// 用some方法也可以达到同样效果,
				// 如果有符合条件的元素返回true,没有返回false
				// 	num.push(ran)
				// }
			
			}
			 console.log(num)
			
			
			
			
		</script>
	</body>
</html>

小程序舒尔特方格源代码_我爱的昵称为什么都存在的博客-CSDN博客小程序舒尔特方格源代码,使用uniapp编写https://blog.csdn.net/weixin_50501118/article/details/125075453 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值