js中.sort() 这个括号中的参数是指定义排序顺序的函数,那么上面的这个函数怎么理解了?下面例子:
谁能帮我解释理解下,js中.sort()这个括号中的参数是指定义排序顺序的函数,那么上面的这个函数怎么理解了?下面例子:<html><body><scripttype="...
谁能帮我解释理解下,js中.sort() 这个括号中的参数是指定义排序顺序的函数,那么上面的这个函数怎么理解了?下面例子: <html>
<body><script type="text/javascript">function sortNumber(a, b)
{
return a - b
}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 + "<br />")
document.write(arr.sort(sortNumber))</script></body>
</html> 展开
<body><script type="text/javascript">function sortNumber(a, b)
{
return a - b
}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 + "<br />")
document.write(arr.sort(sortNumber))</script></body>
</html> 展开
2个回答
2013-05-12
展开全部
返回一个元素已经进行了排序的 Array 对象。 arrayobj.sort(sortfunction)
参数
arrayObj
必选项。任意 Array 对象。
sortFunction
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,
那么元素将按照 ASCII 字符顺序进行升序排列。
说明
sort 方法将 Array 对象进行适当的排序;
在执行过程中并不会创建新的 Array 对象。 如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: 负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。其实你把a-b(升序),b-a(降序),a-a(不变)
详细出处参考: http://www.jb51.net/article/4168.htm
参数
arrayObj
必选项。任意 Array 对象。
sortFunction
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,
那么元素将按照 ASCII 字符顺序进行升序排列。
说明
sort 方法将 Array 对象进行适当的排序;
在执行过程中并不会创建新的 Array 对象。 如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: 负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。其实你把a-b(升序),b-a(降序),a-a(不变)
详细出处参考: http://www.jb51.net/article/4168.htm
推荐于2017-07-31
展开全部
sort是根据Unicode码进行比较的,所以上述例子直接输出arr.sort()会打印
1,10,1000,25,40,5
按照字符顺序进行排序,原理和比较英文字符串一样
sort可以接受一个函数作为参数,该函数作为排序依据
当函数返回值>0就代表a比b大,例如sortNumber改成下方所示,输出结果就变成了1,5,25,40,1000,10
function sortNumber(a, b)
{
if(a ==10) return 1;
return a - b
}
1,10,1000,25,40,5
按照字符顺序进行排序,原理和比较英文字符串一样
sort可以接受一个函数作为参数,该函数作为排序依据
当函数返回值>0就代表a比b大,例如sortNumber改成下方所示,输出结果就变成了1,5,25,40,1000,10
function sortNumber(a, b)
{
if(a ==10) return 1;
return a - b
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询