JavaScript中用sort方法进行二维数组排序 — 第5.2.5节
来源:互联网 发布:随机算法原理 编辑:程序博客网 时间:2024/05/22 09:00
JavaScript中数组排序方法
用到的最多的当然是封装好的sort()方法了
一:sort()方法怎么使用?
sort方法并不像我们想的那么容易使用,不是单纯的arr.sort()就行了,需要我们定义里面的回调函数!因为sort()方法默认情况下按照升序排列数组项,sort()方法会调用toString()转型方法,然后比较得到的字符串,即使我们比较的是数字,他也会把数字转为字符串以后再排序。
请看下面例子:
var arr1 = [0, 1, 3, 10, 16, 5, 9, 0, 3];var arr2 = ['bangbang', 'father', 'mother', 'brother', 'sister', true, false, 0, 1, 6, 13];console.log(arr1.sort()) //很明显,这样不是我们要的结果,[ 0, 0, 1, 10, 16, 3, 3, 5, 9 ]console.log(arr2.sort()); //[ 0,1,13,6,'bangbang','brother',false,'father','mother','sister',true]//传入自定义回调函数之后function ascend(a,b){ return a-b;}//降序排列function descend(a,b){ return b-a;}console.log(arr1.sort(ascend)); //[ 0, 0, 1, 10, 16, 3, 3, 5, 9 ]console.log(arr1.sort(descend)); //[ 16, 10, 9, 5, 3, 3, 1, 0, 0 ]
二:用sort方法进行二维数组的排序。
var arr1 = [[4,5,7],[11,3,6,100,77],[12,9,12,10],[3,1,2,99,22]];function ascend(x,y){ return x[3] - y[3]; //按照数组的第4个值升序排列}function descend(x,y){ return y[0] - x[0]; //按照数组的第1个值升序排列}console.log(arr1.sort(ascend));console.log(arr1.sort(descend));
当然还有其他的排序方法,再次我只说封装好的,其实排序有很多种,关键看你怎么使用!
三:顺便什么是reverse()方法?怎么使用?
reverse方法会反转数组项的顺序,请看如下示例:
var arr1 = [0, 1, 3, 10, 16, 5, 9, 0, 3];var arr2 = ['bangbang', 'father', 'mother', 'brother', 'sister', true, false, 0, 1, 6, 13];console.log(arr1.reverse());//[ 3, 0, 9, 5, 16, 10, 3, 1, 0 ]console.log(arr2.reverse());//[ 13,6,1,0,false,true,'sister','brother','mother','father','bangbang' ]
1 0
- JavaScript中用sort方法进行二维数组排序 — 第5.2.5节
- JavaScript中用sort方法进行二维数组排序
- javascript中用数组sort排序问题
- sort对二维数组进行排序备忘
- 二维数组排序 sort
- 使用sort方法对数组进行排序
- javascript中数组排序方法sort()用法
- C++ 二维数组sort排序
- javaScript中使用 sort方法根据数组中对象的某一个属性值进行排序
- javascript中使用 sort方法根据数组中对象的某一个属性值进行排序
- 【Javascript】数组排序sort()
- javascript数组排序Sort()
- perl中用sort进行数字排序
- 数组排序方法sort()
- Javascript数组的排序 sort()方法和reverse()方法
- Javascript数组的排序 sort()方法和reverse()方法
- 使用Array的Sort()方法对数组进行排序
- C#使用sort方法对数组进行快速排序
- 解读Python selenium的等待方式
- ARM下Kernel panic - not syncing: Attempted to kill init!错误分析
- HDFS升级域:Upgrade Domain
- 输出图形
- OpenSSL在VS2012中的编译和配置
- JavaScript中用sort方法进行二维数组排序 — 第5.2.5节
- POJ 2676 sudoku DFS
- WebRtc AudioTrack and VideoTrack
- 函数sigsuspend sigprocmask的使用
- Windows 下 Ruby 安装指南
- java进阶巩固--XML数据格式
- 素数判断
- JS生成自定义uuid
- makefile的相关知识