首页 > 建站教程 > JS、jQ、TS >  javascript数组随机排序正文

javascript数组随机排序

javascript不像php等,提供了数组随机排序方法,JavaScript得自己去随机排序,数组随机排序常用的方法shuffle算法,类似摸牌,arr为原数组,cards为乱序结果数组。random取一个index,取arr中这个元素,放入cards,同时移除arr中这个元素。
//方法一:随机数组 shuffle
Array.prototype.shuffle = function(){
	var input = this;
	for(var i=input.length-1; i>=0; i--){
		var randomIndex = Math.floor(Math.random()*(i+1));
		var itemAtIndex = input[randomIndex];
		input[randomIndex] = input[i];
		input[i] = itemAtIndex;
	}
	return input;
}

//方法二:古老的方法
function shuffle(arr){
	for(var i=0,len=arr.length; i<len; i++){
		var rand = parseInt(Math.random()*len);
		var temp = arr[rand];
		arr[rand] = arr[i];
		arr[i] = temp;
	}
	return arr;
}