admin管理员组文章数量:1325761
Here is the context:
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
does -1
return the last argument? Like when using -1
in an array?
Here is the context:
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
does -1
return the last argument? Like when using -1
in an array?
4 Answers
Reset to default 26No, -1, 0, and 1 in a comparison function are used to tell the caller how the first value should be sorted in relation to the second one. -1 means the first goes before the second, 1 means it goes after, and 0 means they're equivalent.
The sort
function uses the comparisons in the function you pass it to sort the function. For instance, if you wanted to sort in reverse order, you could make line 3 return 1;
and line 5 return -1
.
The sort
method takes an optional comparison function that determines the resulting sort order based on the following:
- if its return value is less than zero, then sort
value1
to a lower index thanvalue2
- if its return value is zero, then leave the indices of
value1
andvalue2
unchanged with respect to each other - if its return value is greater than zero, then sort
value1
to a higher index thanvalue2
Note that given these rules, it's possible to shorten your comparison function to the following:
function compare(value1, value2) {
return value1 - value2;
}
-1
means that value1
is less than value2
0
means that value1
is equal to value2
1
means that value1
is greater than value2
// filter in array
function filterDataByInput(){
let searchInput = document.getElementById('searchInput').value;
let result = userDetails.filter(function (value){
return value.name.toLowerCase().indexOf(searchInput.toLowerCase()) > -1;
});
console.log(result)
}
-1 search from abcd 0 search from abcd 1 search from abcd
本文标签: What do return 11and 0 mean in this Javascript codeStack Overflow
版权声明:本文标题:What do return -1, 1, and 0 mean in this Javascript code? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1737618402a1999064.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
arguments[0]
, and it won't accept negative numbers. – RightSaidFred Commented Nov 27, 2011 at 0:55