作者:清皮皮 | 来源:互联网 | 2023-02-05 13:41
这不是Array.sort的工作原理.您需要返回一个数字,但是您给出的谓词返回一个布尔值(小于(<
)运算符会返回true或false).排序顺序取决于函数返回的数字是负数,正数还是零.MDN示例通过示例比较函数说明了这一点.
function compare(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
}
如果你想升序排序,你可以这样做
var cheapest = leaves.sort((a,b) => a.cost - b.cost);
假设leaves
输入正确,a
并b
正确推断其类型.
1> Paarth..:
这不是Array.sort的工作原理.您需要返回一个数字,但是您给出的谓词返回一个布尔值(小于(<
)运算符会返回true或false).排序顺序取决于函数返回的数字是负数,正数还是零.MDN示例通过示例比较函数说明了这一点.
function compare(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
}
如果你想升序排序,你可以这样做
var cheapest = leaves.sort((a,b) => a.cost - b.cost);
假设leaves
输入正确,a
并b
正确推断其类型.