课程
/前端开发
/JavaScript
/JavaScript深入浅出
arr.sort(function(a, b){ return a-b;});//可以实现对数字元素进行排序。sort()函数会两两进行比较按从小到大排序。问题:为什么return的是a-b?内部如何实现循环的?
2015-08-03
源自:JavaScript深入浅出 5-3
正在回答
若 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]
良艺 提问者
慕斯卡2379749
rftnhgnhgn
为什么为正就互换位置啊?
举报
由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握
1 回答类型检测完后的排序
3 回答这个排序的原理是什么
1 回答找方法顺序
3 回答没看懂执行顺序
3 回答既然for in不保证顺序,那为什么每次结果都是正序的,不应该是乱序才对吗?