使用.sort对数字数组进行排序,但我不知道为什么这样做

伊恩C.

新手问题。因此,我正在按升序对数字数组进行排序,但我不明白为什么这样做。

const sortYears = arr => {
  arr = (a, b) => {return a - b;}
}

const years = [1970, 1999, 1951, 1982, 1963, 2011, 2018, 1922];

console.log(years.sort(sortYears()));

什么是a - b真正实现?不仅仅是返回另一个号码吗?突然如何对这些数字进行排序?

或Drori

0产生的数字a - bb - a与0有关的数字的影响

  1. b === a -物品彼此之间的顺序不会改变
  2. b - a < 0-移至ab
  3. b - a > 0-移至ba

但是,该sortYears函数返回undefined,因此未考虑在内。尽管默认排序是升序的。它是通过将项目转换为字符串并将它们作为字符串排序而创建的。提供比较功能将确保将它们按数字排序(请使用默认的比较来注意数字2的位置):

const sortYears = () => (a, b) => a - b;

const years = [1970, 1999, 1951, 1982, 1963, 2011, 2, 2018, 1922];

console.log(years.sort(sortYears())); // with compare function
// [2,1922,1951,1963,1970,1982,1999,2011,2018]

console.log([...years].sort()); // using the default compare
// [1922,1951,1963,1970,1982,1999,2,2011,2018]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我正在使用基础,但我不知道为什么我的标头未正确居中

来自分类Dev

使用数组获取错误 C2440,我不知道为什么

来自分类Dev

使用 WPF MVVM 过滤数据网格,它有效,但我不知道为什么

来自分类Dev

我不知道为什么我们使用response.on

来自分类Dev

我不知道为什么我不能使用 asfreq()?

来自分类Dev

我在Java中的快速排序实现仅对数组的一部分进行排序。不知道为什么要这么做

来自分类Dev

使用yii bootstrap extension后,我得到白屏,不知道为什么?

来自分类Dev

我不知道为什么使用随附的python代码获得W与PT的多个图形

来自分类Dev

我不知道为什么输入不使用MobX更新

来自分类Dev

我的代码有效,但不知道为什么(使用对象)

来自分类Dev

我需要使用ArrayList类对数组进行排列。我不知道怎么了

来自分类Dev

为什么我的角色不动?我不知道为什么我的Rigidbody 2D无法使用

来自分类Dev

似乎无法在VBA中将接口与属性一起使用,我不知道为什么

来自分类Dev

不知道为什么未与先前的注册结合使用时我的登录无法正常工作

来自分类Dev

std :: sort函数未对向量进行排序,我也不知道为什么?

来自分类Dev

不知道为什么在这种情况下使用**

来自分类Dev

使用math.h实现sin函数并得到错误不知道为什么

来自分类Dev

在 F# 中映射自动排序,但我不知道为什么

来自分类Dev

compareTo正在要求我进行投射,但我不知道为什么

来自分类Dev

我正在尝试扫描我的网站以检查哪些端口是打开的。我只是不知道为什么使用循环时此逻辑不起作用

来自分类Dev

我正在使用 this.$router.push 以编程方式导航,但是,我被发送到错误的 URL,我不知道为什么

来自分类Dev

=> / 正在使用 228.23GB 的 95.8% 但我不知道是什么占用了空间?

来自分类Dev

我不知道为什么这段代码在使用 PC 而不是在 Mac 上时在我的 csv 文件上写空行

来自分类Dev

错误地使用dbt_utils.union_relations但不知道为什么/为什么?

来自分类Dev

在两个线程中使用相同的变量,但是我不知道为什么它们不会在Java中更新

来自分类Dev

在两个线程中使用相同的变量,但是我不知道为什么它们不会在Java中更新

来自分类Dev

使用 super().__init__() 时我不得不向 BaseClass 添加一个虚拟参数 & 不知道为什么

来自分类Dev

我正在尝试进行此sql更新查询,但我不知道为什么它不起作用

来自分类Dev

jQuery的。从数字类型输入获得输入值。比较时返回true,但我不知道为什么

Related 相关文章

  1. 1

    我正在使用基础,但我不知道为什么我的标头未正确居中

  2. 2

    使用数组获取错误 C2440,我不知道为什么

  3. 3

    使用 WPF MVVM 过滤数据网格,它有效,但我不知道为什么

  4. 4

    我不知道为什么我们使用response.on

  5. 5

    我不知道为什么我不能使用 asfreq()?

  6. 6

    我在Java中的快速排序实现仅对数组的一部分进行排序。不知道为什么要这么做

  7. 7

    使用yii bootstrap extension后,我得到白屏,不知道为什么?

  8. 8

    我不知道为什么使用随附的python代码获得W与PT的多个图形

  9. 9

    我不知道为什么输入不使用MobX更新

  10. 10

    我的代码有效,但不知道为什么(使用对象)

  11. 11

    我需要使用ArrayList类对数组进行排列。我不知道怎么了

  12. 12

    为什么我的角色不动?我不知道为什么我的Rigidbody 2D无法使用

  13. 13

    似乎无法在VBA中将接口与属性一起使用,我不知道为什么

  14. 14

    不知道为什么未与先前的注册结合使用时我的登录无法正常工作

  15. 15

    std :: sort函数未对向量进行排序,我也不知道为什么?

  16. 16

    不知道为什么在这种情况下使用**

  17. 17

    使用math.h实现sin函数并得到错误不知道为什么

  18. 18

    在 F# 中映射自动排序,但我不知道为什么

  19. 19

    compareTo正在要求我进行投射,但我不知道为什么

  20. 20

    我正在尝试扫描我的网站以检查哪些端口是打开的。我只是不知道为什么使用循环时此逻辑不起作用

  21. 21

    我正在使用 this.$router.push 以编程方式导航,但是,我被发送到错误的 URL,我不知道为什么

  22. 22

    => / 正在使用 228.23GB 的 95.8% 但我不知道是什么占用了空间?

  23. 23

    我不知道为什么这段代码在使用 PC 而不是在 Mac 上时在我的 csv 文件上写空行

  24. 24

    错误地使用dbt_utils.union_relations但不知道为什么/为什么?

  25. 25

    在两个线程中使用相同的变量,但是我不知道为什么它们不会在Java中更新

  26. 26

    在两个线程中使用相同的变量,但是我不知道为什么它们不会在Java中更新

  27. 27

    使用 super().__init__() 时我不得不向 BaseClass 添加一个虚拟参数 & 不知道为什么

  28. 28

    我正在尝试进行此sql更新查询,但我不知道为什么它不起作用

  29. 29

    jQuery的。从数字类型输入获得输入值。比较时返回true,但我不知道为什么

热门标签

归档