Javascript return1或-1在array.sort(a>b)(JS)中是如何工作/表示的?询问methos array.sort的进程

Javascript return1或-1在array.sort(a>b)(JS)中是如何工作/表示的?询问methos array.sort的进程,javascript,arrays,sorting,Javascript,Arrays,Sorting,我不知道返回1或-1在js中的array.sort中是什么意思 const hola = [0, 4, 10, 60, 5] const holaSorted = hola.sort(function(a,b) { if (a>b) { return -1; } else { return 1; } }); console.log(holaSorted); console.tableholaSorted` [60,10,5,4,0]首

我不知道返回1或-1在js中的array.sort中是什么意思

    const hola = [0, 4, 10, 60, 5]
const holaSorted = hola.sort(function(a,b) {
    if (a>b) {
        return -1;
    } else {
    return 1;
  } 
});
console.log(holaSorted);
console.tableholaSorted`


[60,10,5,4,0]

首先,如上所述,描述非常好

但我们可以在这里简化:

当我们调用sort时,它允许我们提供一个函数来在任何给定时间计算数组的两个元素

该函数应返回:

如果ab,则为正值 如果a==b,则为0。 然后,sort函数将使用该值分别对这两个元素进行排序

//数字排序非常简单。 常数hola=[0,4,10,60,5] 常数holaSorted=hola.sorta,b=>a-b; console.logholaSorted; //颠倒顺序。 常数holaSorted2=hola.sorta,b=>b-a;
console.logholaSorted;这里的解释很好:如果compareFunctiona,b小于0,则从项目符号列表开始,…MDN上有一个很好的描述:。但是,请注意,当a===b时也需要返回0。它不必是-1,1和0,它是0&==0。。所以你上面的例子可以是返回b-a;你好,sorta,b=>b-一个可能重复的@ctt,这个问题在哪里解释的?非常感谢@Bibberty!!!告诉我我对逻辑是否满意:constbyname=people.sorta,b=>a.nameb.name?1 : 0; 如果a.name a.name>b.name-1:a.name