JavaScript sort()方法

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

</head>

<body>

</body>

<script type="text/javascript">

//sort()方法用于对数组的元素的排序。

//语法:arrayObject.sort(sorty)

//sortby:可选。规定排序顺序。必须是函数。

//返回值,对数组的引用,请注意,数组在原数组上进行排序,不生成副本。

//note:如果调用该方法时没有使用参数,将按字母排序对数组中的元素

//进行排序,说得精确点,是按照字符编码的顺序进行排序。要实现

//这一点,首先应该把数组的元素转换成字符串(如果有必要),

//以便进行比较。

//如果想按照其他标准进行排序,就需要提供比较函数,该函数

//要比较两个值,然后返回一个用于说明这两个值的相对顺序,比较

//函数应该具有两个参数a和b,其返回值如下:

//若a小于b,在排序后的数组中a应该出现在b之前,则返回一个小于0的值。

//若a等于b,则返回值0。

//若a大于b,则返回一个大于0的值。

 

//1.创建一个数组,并按字母顺序进行排序。

var arr1 = new Array(6);

arr1[0] = "George";

arr1[1] = "John";

arr1[2] = "Thomas";

arr1[3] = "James";

arr1[4] = "Adrew";

arr1[5] = "Martin";

 

document.write(arr1 + "<br />");

document.write(arr1.sort() + "<br />");

 

var arr2 = new Array(6);

arr2[0] = "10";

arr2[1] = "5";

arr2[2] = "40";

arr2[3] = "25";

arr2[4] = "1000";

arr2[5] = "1";

 

document.write(arr2 + "<br />");

document.write(arr2.sort() + "<br />");

 

//上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:

function sortNumber(a, b) {

return a - b;

}

 

var arr3= new Array(6);

arr3[0] = "10";

arr3[1] = "5";

arr3[2] = "40";

arr3[3] = "25";

arr3[4] = "1000";

arr3[5] = "1";

 

document.write(arr3 + "<br />");

document.write(arr3.sort(sortNumber)+ "<br />");

</script>

 

</html>

原文地址:https://www.cnblogs.com/niuniudashijie/p/5990667.html