请问在js中.sort() 这个括号中的参数是指定义排序顺序的函数,那么上面的这个函数怎么理解了?

js中.sort() 这个括号中的参数是指定义排序顺序的函数,那么上面的这个函数怎么理解了?


陪伴而非守候
浏览 398回答 5
5回答

蝴蝶不菲

sort的参数,为一个函数,那么这个函数接受2个参数,a, b这个函数在:a == b 是为0a > b 时为 1a < b时 为-1那么sort在排序的时候,根据冒泡排序,传递2个数进来对于arr[0] = "10"arr[1] = "5"那么 a=10 b=5,显然a > b,那么sort根据这个函数返回的结构,就开始排了,5, 10那么第一次结束时: 5 10 40 25 1000 1接下来:然后5 跟 40 25 1000 1排,完了只有是: 1 10 40 25 1000 5然后从10 开始,10 - 40 10 <->25 10 <-> 1000 10 <->5结束后:1 5 40 25 1000 10再40 : 1 5 10 25 1000 40再 25 :再 1000 : 1 5 10 25 40 1000到此,最后一位就剩一个了,没有啥比较的了,排序完成

慕运维8079593

sort() 是对数组进行排序,调用方法为:array.sort() 按照你的程序 调用为 arr.sort();就好了,var arr = new Array(6)arr[0] = "10";arr[1] = "5";arr[2] = "40";arr[3] = "25";arr[4] = "1000";arr[5] = "1";document.write(arr.sort());我给你修改了下程序,现在输出的话 应该是:1,10,1000,25,40,5按照字母顺序排序,因为 你数组的元素数据类型为 String

12345678_0001

定义和用法:sort() 方法用于对数组的元素进行排序。语法:1arrayObject.sort(sortby)描述:sortby &nbsp; &nbsp;可选。规定排序顺序。必须是函数。 &nbsp; &nbsp;返回值:对数组的引用。请注意,数组在原数组上进行排序,不生成副本。说明:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。若 a 等于 b,则返回 0。若 a 大于 b,则返回一个大于 0 的值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python