关于javascript中用sort() 方法用于对数组的元素进行排序问题。
下面一段代码:<scripttype="text/javascript">functionsortNumber(a,b){returna-b}vararr=newArra...
下面一段代码:<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>他是要对数组中的所有成员进行排序,为什么只有a,b两个参数啊~~它是怎么排序的?! 展开
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>他是要对数组中的所有成员进行排序,为什么只有a,b两个参数啊~~它是怎么排序的?! 展开
1个回答
2013-07-18
展开全部
sort() 方法用于对数组的元素进行排序。语法arrayObject.sort(sortby)参数描述sortby可选。规定排序顺序。必须是函数。返回值对数组的引用。请注意,数组在原数组上进行排序,不生成副本。说明如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。 若 a 等于 b,则返回 0。 若 a 大于 b,则返回一个大于 0 的值。 提示和注释注释:您可使用负值从数组的尾部选取元素。注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。实例例子 1在本例中,我们将创建一个数组,并按字母顺序进行排序:<script type="text/javascript">var arr = new Array(6)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"arr[3] = "James"arr[4] = "Adrew"arr[5] = "Martin"document.write(arr + "
")document.write(arr.sort())</script>输出:George,John,Thomas,James,Adrew,MartinAdrew,George,James,John,Martin,Thomas例子 2在本例中,我们将创建一个数组,并按字母顺序进行排序:<script type="text/javascript">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 + "
")document.write(arr.sort())</script>输出:10,5,40,25,1000,11,10,1000,25,40,5请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:<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 + "
")document.write(arr.sort(sortNumber))</script>输出:10,5,40,25,1000,11,5,10,25,40,1000
")document.write(arr.sort())</script>输出:George,John,Thomas,James,Adrew,MartinAdrew,George,James,John,Martin,Thomas例子 2在本例中,我们将创建一个数组,并按字母顺序进行排序:<script type="text/javascript">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 + "
")document.write(arr.sort())</script>输出:10,5,40,25,1000,11,10,1000,25,40,5请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:<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 + "
")document.write(arr.sort(sortNumber))</script>输出:10,5,40,25,1000,11,5,10,25,40,1000
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询