gpt4 book ai didi

javascript - 真的对 JS 中的排序感到困惑

转载 作者:行者123 更新时间:2023-12-05 02:27:54 28 4
gpt4 key购买 nike

今天我在写一些代码,我意识到我做不到x.push(5, 9).sort();//错了我也做不到x.sort(x.push(5, 9));//错了并且不得不做

x.push(5, 9);
x.sort();

我想知道有没有办法让它成为一行?>另外,下面两行有什么区别

x.sort((a, b) => a - b);
x.sort();

最佳答案

.push 返回数组的新长度,而不是变异的数组。如果您想同时进行推送和排序,请考虑创建一个新数组,然后对其进行排序。

const sortedArr = [...arr, 5, 9].sort();
// or, .sort((a, b) => a - b)
不带任何参数的

.sort() 通过按字典顺序比较数组中的每个项目对它们进行排序,作为字符串 - 导致不直观的结果,如 [1, 11, 2] .

自定义回调允许您自定义行为 - 当数组的一个元素与另一个元素进行比较时,调用回调,而不是使用词典比较,返回值是负数、正数还是 0 决定是否两个项目在另一个项目之前、之后或在相同(相对)位置排序。因此,在对数字数组进行数字排序时,您总是希望使用类似 (a, b) => a - b 的方式。

关于javascript - 真的对 JS 中的排序感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72835978/

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