/*JS中的冒泡排序法*/ var arr=[8,4,6,3,5,2,7,1]; //轮数从1开始,到<length轮结束 /*遍历第n轮的公式:i从0开始,到<length-n结束*/ for(var n=1;n<arr.length;n++){ for(var i=0;i<arr.length-n;i++){ //如果当前元素>下一个元素,就交换两元素位置 arr[i]>arr[i+1]&&(//不允许声明第三个变量,交换两数 //a+=b,b=a-b,a-=b arr[i]+=arr[i+1], arr[i+1]=arr[i]-arr[i+1], arr[i]-=arr[i+1] ) } } console.log(arr);//[1,2,3,4,5,6,7,8] var rArr=arr.reverse(); console.log(rArr);//[8,7,6,5,4,3,2,1]
<script> /*比较器函数作为回调函数的应用*/ var arr=[3,12,4,23,123,2]; //匿名函数回调 arr.sort(function(a,b){ return a-b; }); console.log(String(arr));//2,3,4,12,23,123 //比较器函数对象随局部变量一起释放! arr.sort(function(a,b){ return b-a; }); console.log(String(arr));//123,23,12,4,3,2 </script>