在下午学习JavaScript数组的过程中,多次用到了比值函数
比值函数function( a, b )是和JavaScript里的sort( )函数一起使用的,比值函数嵌套在sort( )函数的圆括号里
为什么要用比值函数?
- sort() 以字母顺序对数组进行升序排序
- 而数字顺序sort( )无法凭自己单独实现,这里就体现了比值函数的作用
sort() 函数比较两个值时,
会将值发送到嵌套在圆括号里的比值函数function(a, b)
function(a, b) 计算并返回 (a - b)的值, 值或正或负或零,
sort( )可根据返回的值的正负对数组进行排序
按我自己的理解:
比值函数的目的是将结果的正负供sort( )参考,
sort( )光凭借正负号就能将所有数按顺序排列出来
注意:
function(a, b){
return (a - b)
}
使值按升序由小到大排序
function(a, b){
return (b - a)
}
使值按降序由大到小排序
不卖关子,上代码:
这里提供了points数组,有11, 100, 1, 5, 25, 10六个数字,
分别采用了按字母先后顺序(是的,数字也能按字母顺序排列)和按数字大小顺序排列的方式
<script> var points = [11, 100, 1, 5, 25, 10]; document.getElementById("demo").innerHTML = points; // 以字母/字符串顺序对数组进行排序 function sort_by_letter() { points = points.sort(); document.getElementById("demo").innerHTML = points; } //以数字大小排序 function sort_by_number() { points.sort(function (a,b) { //比值函数 起到数字升序排序的作用 return (a - b) }); document.getElementById("demo").innerHTML = points; } </script>
HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS数组排序</title> </head> <body> <h1>JavaScript 数组排序</h1> <p id="demo"></p> <button onclick="sort_by_letter()">按字母升序排序</button> <button onclick="sort_by_number()">按数字升序排序</button> <script src="../Javascript/0115_05.js"></script> </body> </html>
运行界面:
点击按字母升序排序按钮:
点击按数字升序排序按钮:
详情查看原文链接:https://blog.csdn.net/qwe122343/article/details/103992772