如何在javascript排序方法中对数字进行排序

dra*_*sea 8 javascript sorting function

以下是代码:

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b;
}

var n = ["10", "5", "40", "25", "100", "1"];
document.write(n.sort(sortNumber));

</script>
Run Code Online (Sandbox Code Playgroud)

我发现这是w3school没有解释所有!sortnumber函数是排序数字的公式吗?什么是a和b,为什么它存在? 为什么n.sort(sortNumber)中的sortNumber没有指定a和b的任何参数?有人能解释一下吗?谢谢!!

Rin*_*g Ø 6

JavaScript sort()函数可能会也可能不会采用参数.
参数将是一个函数 - 意思what function is to be used to assess which of two elements should be before the other.

n数组由表示数字的字符串组成.
sort()没有函数的情况下执行简单操作,将使用字母顺序:结果将是

 "1", "10", "25"... "5"
Run Code Online (Sandbox Code Playgroud)

并且不正确.

提供一个函数,sortNumber告诉sort每次sort算法想要知道两个项中的哪一个在另一个之前时,用数组的两个元素调用该函数.

因此sortNumber提供了两个项目,一个numerical操作返回

  • 负值,意思是ab之前
  • 正值,ba之前
  • 零:它们在顺序方面是相同的(顺序无关紧要).