今天我在写一些代码,我意识到我做不到
x.push(5, 9);
x.sort();
我在想,有没有办法做到一行呢&燃气轮机;
x.sort((a, b) => a - b);
x.sort();
今天我在写一些代码,我意识到我做不到
x.push(5, 9);
x.sort();
我在想,有没有办法做到一行呢&燃气轮机;
x.sort((a, b) => a - b);
x.sort();
.push
返回数组的新长度,而不是变异array.如果要同时推送和排序,请考虑创建一个新数组,然后对其排序.
const sortedArr = [...arr, 5, 9].sort();
// or, .sort((a, b) => a - b)
.sort()
不带任何参数,通过将数组中的每个项按词法进行比较(作为字符串),对其进行排序,从而得到[1, 11, 2]
这样的非直观结果.
自定义回调允许您自定义行为-当数组的一个元素与另一个元素进行比较时,而不是使用词汇比较时,将调用回调,返回值是负值、正值还是0将决定这两个项是在另一个之前、之后还是在同一(相对)位置进行排序.因此,当对数字数组进行数字排序时,您总是希望使用(a, b) => a - b
之类的值.