//数组排序 初始化
var arr = [];
var arr1 = [];
var arr2 = [];
var arr3 = [];
var arr4 = [];
for(var i=0 ; i< 20; i++){
	arr.push(Math.floor(Math.random()*10));
	arr1.push(Math.floor(Math.random()*10));
	arr2.push(Math.floor(Math.random()*10));
	arr3.push(Math.floor(Math.random()*10));
	arr4.push(Math.floor(Math.random()*10));
}


//数组去重
console.log('==数组去重==');
console.log(arr);
function arrDup(ele){
	for(var i=0; i<ele.length-1; i++){
		for(var j=i+1; j<ele.length; j++){
			if(ele[i] == ele[j]){
				ele.splice(j,1);
				j--;
			}
		}
	}
	return ele;
}
console.log(arrDup(arr))

//选择排序
console.log('==选择排序==');
console.log(arr1);
for(var i=0; i<arr1.length; i++){
	var min = i;
	for(var j=i+1; j<arr1.length; j++){
		if(arr1[min] > arr1[j]){
			min = j;
		}
	}
	if(i != min){
		var temp = arr1[i];
		arr1[i] = arr1[min];
		arr1[min] = temp;
	}
}
console.log(arr1);

//冒泡排序
console.log('==冒泡排序==');
console.log(arr2);
for(var i=0; i<arr2.length-1; i++){
	for(var j=0; j<arr2.length-1-i; j++){
		if(arr2[j] > arr2[j+1]){
			var temp = arr2[j];
			arr2[j] = arr2[j+1];
			arr2[j+1] = temp;
		}
	}
}
console.log(arr2);

//快速排序
console.log('==快速排序==');
console.log(arr3);
function quickSort(arr){
	if(arr.length <=1){
		return arr;
	}
	var centId = Math.floor(arr.length/2);
	var cent = arr.splice(centId,1)[0];
	var left = [];
	var right = [];
	for(var i=0; i<arr.length; i++){
		if(arr[i] > cent){
			right.push(arr[i]);
		}else{
			left.push(arr[i]);
		}
	}
	return quickSort(left).concat(cent,quickSort(right));
}
console.log(quickSort(arr3));

//自带排序方法
console.log('==自带排序方法==')
console.log(arr4);
var sor = arr4.sort(function(a,b){
	return a - b;
})
console.log(sor);

原生js中数组去重和排序方法_选择排序