实现随机数组方法总结

本文总结了三种在JavaScript中实现随机数组的方法:方案一利用Array和Math方法,可能存在不随机的问题;方案二介绍了Fisher-Yates shuffle洗牌算法,包括ES6和ES5实现;方案三通过生成随机下标取数组元素并删除,但会改变原数组。
摘要由CSDN通过智能技术生成


前言

翻阅了一些资料,思考许久后,给大家整理出几种可以实现随机数组的方法。一起来看看都有哪些吧~


一、方案一

1. 实现思路

使用Array的sort方法和Math的random方法

数组sort方法可以传入一个用来指定按某种顺序进行排列的函数,如果省略,元素按照转换为的字符串的各个字符的Unicode位点进行排序。

如果参数小于0 就交换位置 ,如果参数大于0就不交换位置 。接下来用刚才的较大数字跟下一个进行比较。

使用Math提供的random方法,这个方法默认生成0~1之间的随机小数。我们在其基础上-0.5,传入数组的sort方法中,可以来帮助我们进行随机排序。

2. 代码演示

代码如下(示例):

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]

arr.sort(function(){
   
	return Math.random() - 0.5
})

或者使用ES6箭头函数改写

let arr = [1, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值