将数组随机排序后返回

将数组随机排序后返回

方法一

 

		/**
		 *mix the array 
		 * @param array
		 */	
		public static function mixArray(array:Array):void{
			array.sort(function(n1:*, n2:*):Number{
				var r:Number = Math.random()*1;
				return r>0.5?1:-1;
			});
		}

 

方法二

		/**
		 * 将数组随机排序后返回
		 */ 
		private function getRandomArray($arr:Array):Array{
			var temp1 : int;
			var temp2 : int;
			var len:int = $arr.length;
			var returnValue:Array = new Array();
			
			for(var i : int = 0; i < len; i++){
				temp1 = int(0 + Math.random() * (len - 1));
				returnValue[i] = $arr[temp1];	
				temp2 = $arr[temp1];
				$arr[temp1] = $arr[len-1];
				$arr[len-1] = temp2;
							}
			return returnValue;
		}

 

你可能感兴趣的:(排序)