js sort() 数字排序 不太理解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js sort() 数字排序 不太理解相关的知识,希望对你有一定的参考价值。
function sortNum(a,b)
return a - b;
//升序,如降序,把“a - b”该成“b - a”
该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
为什么是这样
具体我不太清楚你这个话的意思,如果是排序问题,你看完我下面这个代码就知道了。js里面排序有数组方法sort。还有字符串对比方法localeCompare,这两种方法都无法正儿八经的排序中文。字母和数字都没问题。如果是排序算法学习问题的话,我觉得你在百度知道很难寻求到答案。
我先说说localeCompare,和你说的返回值比较接近。
"a".localeCompare("b")// 返回: -1
"a".localeCompare("a")
// 返回: 0
"z".localeCompare("a")
// 返回:1
数组方法就更简单直接
var array = ["c", "y", "o", "t", "h", "b", "e", "l", "c", "a", "d"]var a = array.sort()
a.join( )
// 返回: "a b c c d e h l o t y"
a.reverse().join( )
// 返回:"y,t,o,l,h,e,d,c,c,b,a" 参考技术A 规定就是这样的啊。你具体是哪个地方不理解啊?
js 数字数组按大小排序
var num = 75368 //倒序排列 num.sort((a,b)=>{return b-a}) //正序排列 num.sort((a,b)=>{return a-b})
以上是关于js sort() 数字排序 不太理解的主要内容,如果未能解决你的问题,请参考以下文章