良艺
2015-08-03 16:39
arr.sort(function(a, b){ return a-b;});//可以实现对数字元素进行排序。sort()函数会两两进行比较按从小到大排序。问题:为什么return的是a-b?内部如何实现循环的?
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
现在有 arr=[1,15,8,9,85]
1-15 值为负,位置不变
15-8 值为正,互换位置
15-9 值为正,互换位置
15-85 值为负,位置不变
输出为[1,8,9,15,85]
rftnhgnhgn
为什么为正就互换位置啊?
JavaScript深入浅出
281100 学习 · 1020 问题
相似问题