数组排序的方法

sort()对数组排序,不开辟新的内存,对原有数组元素进行调换
// 1、简单数组简单排序 .sort()
// var arrSimple = [1,8,7,6,11]
// function order(value1,value2){
// return value1-value2;
// }
 
// console.log( arrSimple.sort(order))



// 冒泡排序:两两比较,以升为例,一直比到最后一项
// splice()
// 参数1:index:正数 删除的位置,负数从结尾开始算
// 参数2:必须,要删除的数量,设置为0不会删除项目
// 参数3:可选,向数组中添加新的项目
// var arr = [1,8,9,2,7,6]
// function bubblesort(arr){
// for(var i=arr.length-1;i>0;i--){
// for(var j=0;j<i;j++){
// if(arr[j]>arr[j+1]){
// var temp = arr[j]
// arr.splice(j,1,arr[j+1])
// arr.splice(j+1,1,temp)
// }
// }
// }
// return arr;
// }



// 选择排序:将当前未确定的模块中的max和min取出来插到最前面或者后面
// var arr = [1,8,9,11,2,7,6]
// function bubblesort(array){
// for(var i=0;i<arr.length;i++){
// var min = arr[i]
// var minIndex = i
// for(var j = i+1;j<arr.length;j++){
// if(min>arr[j]){
// min = array[j];
// minIndex = j;
// }
// }
// arr.splice(i,0,min);
// arr.splice(minIndex+1,1)
// console.log(arr)
// }
// return arr;
// }



// 插入排序:选择已经排好序的数组,与之相对比,直到找到小于他的一项,将其插入到这项前面
// function inserSort(arr){
// var start = 1;
// for(var i=start;i<arr.length;start++,i++){
// for(j=0;j<start;j++){
// if(arr[i]<=arr[j]){
// arr.splice(j,0,arr[i])
// arr.splice(i+1,1)
// break;
// }
// }
// }
// }
// 快速排序
// var times=0;
// var arr = [1,3,9,2,5,8,13]
// var quickSort=function(arr){
// //如果数组长度小于等于1无需判断直接返回即可
// if(arr.length<=1){
// return arr;
// }
// var midIndex=Math.floor(arr.length/2);//取基准点
// var midIndexVal=arr.splice(midIndex,1);//取基准点的值,splice(index,1)函数可以返回数组中被删除的那个数arr[index+1]
// var left=[];//存放比基准点小的数组
// var right=[];//存放比基准点大的数组
// //遍历数组,进行判断分配
// for(var i=0;i<arr.length;i++){
// if(arr[i]<midIndexVal){
// left.push(arr[i]);//比基准点小的放在左边数组
// console.log(left +'-----------1111111111111')
// }
// else{
// right.push(arr[i]);//比基准点大的放在右边数组
// console.log(right+'----------------22222222222222')
// }
// console.log("第"+(++times)+"次排序后:"+arr);
// }
// //递归执行以上操作,对左右两个数组进行操作,直到数组长度为<=1;
// return quickSort(left).concat(midIndexVal,quickSort(right));
// var arr1 = quickSort(left).concat(midIndexVal,quickSort(right));
// console.log(arr1)
// };
// console.log(quickSort(arr));
for(i=0;i<5;i++){
setTimeout(function(){
console.log(i)
},1000)
}
// function makeFn(){
// var num = 0;
// function f(){
// num++;
// console.log(num);
// }
// return f;
// }
// var func = makeFn();
原文地址:https://www.cnblogs.com/lzq035/p/7930599.html