gpt4 book ai didi

javascript - Sort() 通过参数传递?在 JavaScript 中

转载 作者:行者123 更新时间:2023-12-01 03:21:17 29 4
gpt4 key购买 nike

我正在学习 javascript,我对 javascript 中的排序方法有一些疑问,是的,在你问之前我已经阅读了其他问题,我明白这一点:

“小于 0:“a”被排序为比“b”更低的索引。零:“a”和“b”被认为是相等的,并且不进行排序。大于 0:“b”被排序为比“a”更低的索引。”

这是关于 sort() 函数的主要问题,但我不明白的是:

var array=[5, 2, 1, 10]

array.sort(function(a,b) {
return a - b})

ab 作为函数中的参数的目的是什么?函数期间将使用的参数的值是什么?它被告知返回a-b,但在此过程中谁将成为ab?我不是要求 console.log() 示例。如果 ab 是我的参数,如果我什至没有传递 ab 的值,该函数将如何工作

在其他语言中,需要传递 ab 的值。

最佳答案

compareFunction: Specifies a function that defines the sort order. If omitted, the array is sorted according to each character's Unicode code point value, according to the string conversion of each element.

您在 array.sort 中传递的是一个称为比较器函数的函数。它所做的基本上是当它对​​数组进行排序时,它会在任何给定时间比较数组的两个元素,并根据提供的函数的实现细节对其进行排序。

假设您有一个数组[2, 4, 3]假设您的排序函数会将比较器中的元素传递给比较器 2,3 并且您返回结果 2 - 4 ,即 -2 并且您已经知道 < 0 表示a 元素需要位于较低的位置,即 2 将首先出现。它将比较 4 - 3,其中 > 0 表示需要在后面。

文档包含您问题的所有答案。

Sort Documentation on MDN

关于javascript - Sort() 通过参数传递?在 JavaScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45185966/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com