js数组的sort方法原理

kakakaluolita 2017-06-11 09:09:07
请问sort方法是怎么穿参数的?a和b的值是数组元素的值吗?

var test = [444,33,1111,222];
test.sort(function(a,b){
return a-b;
console.log(a+","+b);
});
console.log(test);

...全文
325 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kakakaluolita 2017-06-11
  • 打赏
  • 举报
回复
嗯嗯,我其实想看看js底层代码是怎么实现的,就是不知道在哪儿看
MikeDDT009 2017-06-11
  • 打赏
  • 举报
回复
才开始我也不懂,后来到处看慢慢都大概就知道了。 首先有个概念,sort使用的是冒泡排序。 里面的参数是数组要比较的两个数。 然后有个返回值来判定谁在前谁在后,相当于返回结果就是第一个参数对比第二个参数。 比较结果是0表明位置不变 比较结果是>=1也就是说是正整数则表明第一个参数大于第二个参数。也就是第一个参数排在第二个参数的后面 比较结果<=-1表明第一个参数应该排在第二个参数的左边。 用水平坐标轴来看
kakakaluolita 2017-06-11
  • 打赏
  • 举报
回复
我好像弄明白了:当返回值大于0的时候,被调换的元素会一直和前面的元素比较,直到差值小于0
kakakaluolita 2017-06-11
  • 打赏
  • 举报
回复

这个是他的执行顺序
我还是不太懂具体的执行过程
似梦飞花 2017-06-11
  • 打赏
  • 举报
回复
是 你传的回调 他调用

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧