问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js排序问题为什么使用了下面的cmpare方法就实现了根据值的大小排序

发布网友 发布时间:2022-07-03 05:12

我来回答

1个回答

热心网友 时间:2022-07-06 14:47

因为 arr1 是一个数组对象(即Array),而数组对象具有一个排序方法sort(),该方法可以接受一个比较元素次序的排序函数,compare正是这样的一个排序函数。所以可以实现排序。
排序函数要接受两个参数,这两个参数代表数组中的两个元素,排序函数根据这两个元素的次序正确否返回修正值:-1表示次序错了(应该把第二个参数排列在第一个参数之前),0表示次序无所谓(第一个参数在前也行,第二个参数在前面也行),1表示次序正确(第一个参数在前,第二个参数在后)追问为什么返回-1或者1就可以判断啊不是太明白

追答换个方法给你解释一下吧:
设计sort方法的人规定了这个方法可以接受一个排序函数作排序的原则,sort根据这个原则进行排序。sort将多次调用你提供给他的这个排序函数,从而确定数组中哪个元素应该放在前面,哪个元素应该放在后面。排序函数必须接受两个参数(a,b),并对这两个参数进行比较,如果a应该排在b之后则返回一个正数,如果a应该排在b之前则返回一个负数,如果a在前也行b在前也行就返回0。
请看下面的三个例子
// 首先定义三个排序函数
function SmallToBig(v1,v2){ return v1-v2; } // 按从小到大排序
function BigToSmall(v1,v2){ return v2-v1; } // 按从大到小排序

function unitsSmallToBig(v1,v2){ return v1 % 10 - v2 % 10; } // 按个位数从小到大排序

// 接下来定义一个数组对象
var arr1=[10,2,4,1,6,22];

// 然后按照不同的排序函数对其进行排序
arr1.sort(SmallToBig); // 按从小到大排序
alert(arr1);

arr1.sort(BigToSmall); // 按从大到小排序
alert(arr1);

arr1.sort(unitsSmallToBig); // 按个位数从小到大排序
alert(arr1);

你也可以自己写一些排序函数试试,比如按字符串长度排序的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机玻璃硬度是多少合适 ips屏幕硬度怎么样 手机硬度是什么意思? 2024年拼多多春节发货时间规定是什么?过年还要48小时发货吗? e元素e8100无线鼠标怎么使用 E元素X-8100靠谱吗?可以用几年? E元素X-8100现在有几种配色,哪一种配色好呢? E元素X-8100用的是什么色的轴,适合玩游戏吗? 浙c是哪个城市 浙c是哪里 榻榻米软包怎么安装 为什么sort((a,b) => a - b ? 1 : -1 )可以对时间戳排序,"sort((a,b) => a - b ? 1 : -1 )"表示什么意思 菜鸟点我达众包以前实名认证过现在换手机了怎么登录? 点我达商家怎么更改号码 DNF瞎子95a选哪套最好最实用,我现在哈林首饰加海伯伦特殊,正在做超时空首饰,求大神指点 精神分裂症患者饮食有哪些需要注意的? 精神分裂症的病人在饮食方面要注意什么 南部肥肠干饭 南部肥肠干饭的做法 你好,我发出的微信,对方能收到信息,可是我收不到对方发来的信息,是怎么回事?_百度问一问 做酱烧豆腐的过程是怎样的?需要注意哪些问题? 怎么做青春纪念册啊? 与手机通讯录不同步怎么办? 快手号与和手机号码不同步怎么办- 问一问 和绑定的手机号不一样行吗 和手机号不同怎么办? 数据流量连接不上,显示1X是什么意思?- 问一问 2022年3月1日休产假188天几号上班 户外运动用品可以团购吗? 谢谢 联想320s笔记本电脑怎样 门庭若市能形容商店吗 黑发适合深咖啡色的眉笔吗 在新浪微博里的字如何转变成为繁体字 新浪微博手机app怎么设置成繁体字? 本人43岁,现在感到前额头痛,头晕,双眼看东西模糊,单眼看东西清楚,用手轻轻按下眼睛有点痛,这是什么原因? 医生好!近来我总是觉得前额和眼睛很重,压迫着很难受,眼睛也很涩看东西很模糊,吃了好几付中药不见好转 前额发紧眼睛睁不开是什么原因 头突然昏沉,眼睛胀痛,额头发紧,眼睛两眶两边疼,这是怎么了 男属马女属鸡配吗 你我贷发信息说什么法院 天津生育保险报销金额 钉钉中在线课堂老师取消学生静音时那个时候是静音吗 梦见死了的小孩被父母丢在水沟边 货车的gps怎么用手机定位- 问一问 OPPO R7自带音乐播放器怎么设置桌面歌词 姓洪,五行八字缺水木火求一个女孩好名字 oppor7手机没声音怎样设置 oppo手机r7sm手机最近老是自动放歌,我却看不到播放器,是怎么回事 oppo r7怎样设置不让歌曲随机播放 姓洪女孩,缺木缺火的请大家帮忙想个名字,秀气点的,我们这边也注重名字的意思,谢谢大家了。 图片叫什么植物?