javascript,数组排序
web前端-js教程
国内主流b2b2c源码,vscode c语言插件,ubuntu 快速拷,jsp怎么显示tomcat,爬虫enter,php中的substr,盐田区seo企业,网站源码到哪里下载地址,免费html5网站源码模板lzw
js中排序方法关于咖啡的整站源码,ubuntu网络如何设置,tomcat9不能启动原因,爬虫获取时间,苹果电脑做php开发,北关区seo团队lzw
1、sort()方法
交友平台源码,ubuntu禁用了网卡,本地策略禁止爬虫,php php_db4,免费文章SEOlzw
sort() 方法用于对数组的元素进行排序。示例:
var ar1=[2,4,6,8,1,3]var ar2=[2,16,36,8,56]ar1.sort()ar2.sort()//这个方法值只能排序第一位数 也可以字符串进行排序console.log(ar1)//[1,2,3,4,6,8]console.log(ar2)//[16, 2, 36, 56, 8]ar2.sort(function(a,b){ return a-b //a-b为升序 //return b-a //b-a为降序})console.log(ar2)//[2, 8, 16, 36, 56]
2、reverse()方法
reverse() 方法用于颠倒数组中元素的顺序。
示例:
var ar1=[2,4,6,8,1,3]ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序console.log(ar1)//[3, 1, 8, 6, 4, 2]
扩展知识:
冒泡排序
//每轮依次比较相邻两个数的大小,后面比前面小则交换var b=0//设置用来调换位置的值var a=[1,9,33,2,5,34,23,98,14]//冒泡排序for(var i=0;i<a.length;i++){ for(var j=0;ja[j+1]){ b=a[j] a[j]=a[j+1] a[j+1]=b } }}console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]
选择排序
//拿第一个数与后面数相比较,如果比后面的数大则交换//拿第二个数与后面的数比较,如果比后面的数大则交换//直到比较到倒数第二个数,最后一个数不用比较var b=0//设置用来调换位置的值var a=[1,9,33,2,5,34,23,98,14]//冒泡排序for(var i=0;i<a.length;i++){ for(var j=i;ja[j+1]){ b=a[j] a[j]=a[j+1] a[j+1]=b } }}console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]
快速排序
先从数列中取出一个数作为基准数
分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边
再对左右区间重复第二步,直到各区间只有一个数
function quickSort(arr, i, j) { if(i < j) { let left = i; let right = j; let mid = Math.floor((left+right)/2); let temp = arr[left]; arr[left] = arr[mid]; arr[mid] = temp; let pivot = arr[left]; while(i = pivot && i < j) { // 从后往前找比基准小的数 j--; } if(i < j) { arr[i++] = arr[j]; } while(arr[i] <= pivot && i < j) { // 从前往后找比基准大的数 i++; } if(i < j) { arr[j--] = arr[i]; } } arr[i] = pivot; quickSort(arr, left, i-1); quickSort(arr, i+1, right); return arr; }}
编程视频!!