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() 数字排序 不太理解的主要内容,如果未能解决你的问题,请参考以下文章

关于python中sort排序的一个简单问题:

Proxmap Sort

Cycle Sort

理解sort()函数的排序原理

javascript深度理解数组的sort()排序

深入理解python中的排序sort