在这个Javascript代码中,return-1、1和0是什么意思?
以下是上下文:在这个Javascript代码中,return-1、1和0是什么意思?,javascript,Javascript,以下是上下文: 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);
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
函数比较(值1、值2){
如果(值1<值2){
返回-1;
}否则如果(值1>值2){
返回1;
}否则{
返回0;
}
}
var值=[0,6,8,5];
排序(比较);
警报(值);//0,5,6,8
-1
是否返回最后一个参数?与在数组中使用-1
类似?否比较函数中的-1、0和1用于告诉调用者第一个值相对于第二个值应如何排序-1表示第一个在第二个之前,1表示在第二个之后,0表示它们相等
sort
函数使用传递给它的函数中的比较对函数进行排序。例如,如果您想按相反的顺序排序,可以使第3行返回1代码>和第5行返回-1
-1
表示value1
小于value2
0
表示value1
等于value2
1
表示value1
大于value2
排序方法采用可选的比较函数,该函数根据以下内容确定结果排序顺序:
function compare(value1, value2) {
return value1 - value2;
}
- 如果其返回值小于零,则将
value1
排序为低于value2
- 如果其返回值为零,则使
value1
和value2
的索引彼此保持不变
- 如果其返回值大于零,则将
value1
排序到比value2
请注意,根据这些规则,可以将比较函数缩短为以下内容:
function compare(value1, value2) {
return value1 - value2;
}
thanx,它更合理按索引访问参数看起来像参数[0]
,而且它不会接受负数。老实说,我认为这个答案比我的答案更值得投票。@harrison_m:好吧,你可以随意删除你的;P