1.使用数组中的方法sort进行排序

var arr=[10,30,20,50,15];arr.sort(function(a,b){ return a-b;})
2.冒泡排序
1)冒泡排序实现逻辑
2)冒泡实现办法 两个循环
var arr=[16,8,134,25,1]; function bubbleSort(arr){ // 控制多少轮[每一轮都是把当最大值放在末尾] for(var i=0;i<arr.length-1;i++){ var flag=false;//记录需不需要比较 // 控制每一轮比较多少次 【从数组第一项开始,两两比较】 for(var j=0;j<arr.length-1-i;j++){ //当前项大于后一项,则让两者交换位置 if(arr[j]>arr[j+1]){ var temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; flag=true; } } //优化项 if(!flag) break; //如果当前这一轮,两两比较了一圈,都没有发现需要交换位置的,说明现在的数组就是排好序了,则直接结束循环即可,没必要在比较了 } return arr; }console.log(bubbleSort(arr));
var arr = [8, 16, 25, 34, 7, 134, 2, 1, 0];function bubbleSort(arr) { var flag = false;//看是否循环 //控制比较多少轮,每一轮都是把最大值放在末尾 for (var i = 0; i < arr.length - 1; i++) { //控制每一轮比较多少次,从数组第一项开始,两两比较 for (var j = 0; j < arr.length - 1 - i; j++) { var a=arr[j];//34 var b=arr[j + 1];//7 if (arr[j] > arr[j + 1]) { arr[j]=arr[j]+arr[j+1];//41 arr[j + 1]=arr[j]-arr[j+1]; arr[j]=arr[j]-arr[j + 1]; flag = true; } } //如果当前这一轮,两两比较了一圈,都没有发现需要交换位置的,说明现在的数组就是排好序的,则直接结束循环即可,没必要再比较了 if (!flag) break; } return arr;}console.log(bubbleSort(arr));
解构赋值
var ary = [100, 23, 5, 9, 33, 2]for (var i = 0; i < ary.length - 1; i++) { var n = true; for (var j = 0; j < ary.length - 1 - i; j++) { if (ary[j] > ary[j + 1]) { [ary[j], ary[j + 1]] = [ary[j + 1], ary[j]]; n = false; } } if (isNaN(n)) continue;}console.log(ary);