【JS】随机打乱数组的方法

一 数组对象

使用

this.list=[
	{src:'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3',num:0},
	{src:'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4',num:1},
	{src:'22',num:2},
	{src:'33',num:3},
	{src:'44',num:4}]
this.list = this.shuffle(this.list);
console.log(this.list)

随机播放列表案例
首先要明确,我们对播放列表打乱的前提是不能对原数组进行更改的

//获取min和max之间的一个随机整数[5,100];
function getRandomInt(min,max){
	return Math.floor(Math.random()*(max-min+1))+min;
}

//打乱数组
function shuffle(arr){
	let _arr = arr.slice(); //slice不会影响原来的数组,但是splice就会影响原来的arr数组
	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;
}

二 纯数字数组

var a = [1, 2, 3, 4, 5];
a.sort(randomSort);
console.log(a);
function randomSort(a, b) { return Math.random() > 0.5 ? -1 : 1; }

结果:[5, 3, 2, 1, 4]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值