javascript中的sort方法
<html><body><scripttype="text/javascript">functionsortNumber(a,b){returna-b}vararr=ne...
<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.sort(sortNumber))
</script>
</body>
</html>
//function sortNumber(a, b){return a - b}
//arr.sort(sortNumber))
sort()中参数为函数名时,怎么调用函数的啊?没看懂,各位帮忙指点一下子啊!
可能我没说清楚,我的意思是如果数组中是纯数字的话,让他从小到大排序,是怎么具体调用的啊? 展开
<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.sort(sortNumber))
</script>
</body>
</html>
//function sortNumber(a, b){return a - b}
//arr.sort(sortNumber))
sort()中参数为函数名时,怎么调用函数的啊?没看懂,各位帮忙指点一下子啊!
可能我没说清楚,我的意思是如果数组中是纯数字的话,让他从小到大排序,是怎么具体调用的啊? 展开
3个回答
展开全部
sort的参数,为一个函数,那么这个函数接受2个参数,a, b
这个函数在:
a == b 是为0
a > b 时为 1
a < 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
到此,最后一位就剩一个了,没有啥比较的了,排序完成
这个函数在:
a == b 是为0
a > b 时为 1
a < 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
到此,最后一位就剩一个了,没有啥比较的了,排序完成
展开全部
定义和用法:
sort() 方法用于对数组的元素进行排序。
语法:
arrayObject.sort(sortby)
描述:
sortby 可选。规定排序顺序。必须是函数。
返回值:
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明:
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
参考:http://www.w3school.com.cn/js/jsref_sort.asp
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
参考:http://www.w3school.com.cn/js/jsref_sort.asp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询