打乱数组

//	var arr = [124,2154,677,214,7,2,82,25,79]

//	console.log(fixArr(arr))


console.log(fixArr(arr));	

//打乱数组

	function fixArr(arr){
//		定义一个新的数组来装 从旧数组中获取的元素
		var arrLoad = [];
//		定义获取数组时的长度
		var length =  arr.length;
//		循环刚获取数组的长度的次数
		for (var i=0;i<length;i++) {
//			定义一个获取数组长度内的随机数,这里因为下面的spice删除操作,
//			必须用arr.length来进行更新数组长度的变化,如果使用获取时的
//			固定长度,那么有可能获取到undefined,就是数组已经被删除的元素的位置
			var ran = randomMax_Min(arr.length,0);
//			把获取到的数组内的元素加到新的数组来
			arrLoad.push(arr[ran]);
//			获取完后进行删除操作,删除从第ran个开始,删除一个
			arr.splice(ran,1);
		}
//		返回新的数组
		return arrLoad;
	}
	
	function randomMax_Min(max,min){
//		如果最小值为空,则返回0
		min = min ||0;
//		对随机数的范围进行四舍五入取整
		return Math.round(min+Math.random()*(max-min));
	}
	

猜你喜欢

转载自blog.csdn.net/qq_36245035/article/details/80561473
今日推荐