这个JS数组排序函数看不懂啊 如果数组里面有好几个数字 这里怎么只比较两个数字啊 返回值为什么是1和-1 什么意思?
function compare(str1, str2){
if(str1 < str2){
return -1;
}else if(str1 > str2){
return 1;
}else{
return 0;
}
}
这个JS数组排序函数看不懂啊 如果数组里面有好几个数字 这里怎么只比较两个数字啊 返回值为什么是
答案:2 悬赏:80 手机版
解决时间 2021-03-17 14:01
- 提问者网友:流星是天使的眼泪
- 2021-03-17 09:29
最佳答案
- 五星知识达人网友:不甚了了
- 2021-03-17 10:39
到不是返回1,-1而是大于0,小于0,等于0三种,举个简单的例子:
[3, 12, 21].sort(); // [3, 21, 12]
排序是基于第一个数字进行比较的。所以需要完善,一般这么写:
[3, 12, 21].sort(function(a, b) {return a - b;}); // [3, 12, 21]
[3, 12, 21].sort(function(a, b) {return b - a;}); // [21, 12, 3]
[3, 12, 21].sort(); // [3, 21, 12]
排序是基于第一个数字进行比较的。所以需要完善,一般这么写:
[3, 12, 21].sort(function(a, b) {return a - b;}); // [3, 12, 21]
[3, 12, 21].sort(function(a, b) {return b - a;}); // [21, 12, 3]
全部回答
- 1楼网友:洒脱疯子
- 2021-03-17 10:56
我是来看评论的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯