以下是上下文:
function compare (value1, value2) {
if(value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}
var values = [0, 6, 8, 5];
values.sort(compare);
alert(values); // 0,5,6,8
Run Code Online (Sandbox Code Playgroud)
确实-1返回最后一个参数?就像-1在数组中使用一样?
Hal*_*Hal 15
比较函数中的否,-1,0和1用于告诉调用者第一个值应该如何相对于第二个值进行排序.-1表示第一个在第二个之前,1表示它在之后,0表示它们是等效的.
该sort函数使用您传递的函数中的比较来对函数进行排序.例如,如果您想以相反的顺序排序,则可以创建第3 return 1;行和第5行return -1.
该sort方法采用可选的比较函数,该函数根据以下内容确定生成的排序顺序:
value1到比索引更低的索引value2value1和value2不变相对于彼此value1到比索引更高的索引value2请注意,根据这些规则,可以将比较功能缩短为以下内容:
function compare(value1, value2) {
return value1 - value2;
}
Run Code Online (Sandbox Code Playgroud)