这个JS数组排序函数看不懂啊 如果数组里面有好几个数字 这里怎么只比较两个数字啊 返回值为什么是

2025-12-05 16:37:13
推荐回答(1个)
回答1:

到不是返回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]