Javascript return1或-1在array.sort(a>b)(JS)中是如何工作/表示的?询问methos array.sort的进程
我不知道返回1或-1在js中的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]首
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.name