Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在这个Javascript代码中,return-1、1和0是什么意思?_Javascript - Fatal编程技术网

在这个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