在JavaScript中,我们可以使用sort()方法来对数组中所有元素进行大小比较,然后按从大到小或者从小到大进行排序。
语法:
数组名.sort(函数名)
说明:
“函数名”是定义数组元素排序的函数的名字。
举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
//定义一个升序函数
function up(a, b)
{
return a - b;
}
//定义一个降序函数
function down(a, b)
{
return b - a;
}
//定义数组
var arr = [3, 9, 1, 12, 50, 21];
arr.sort(up);
document.write("升序:" + arr.join("、") + "<br/>");
arr.sort(down);
document.write("降序:" + arr.join("、"));
</script>
</head>
<body>
</body>
</html>
浏览器预览效果如图所示。
分析:
arr.sort(up)表示将一个函数up作为sort()方法的参数。什么?函数也可以作为参数?说得一点没错。此外,好多初学的小伙伴都肯定会有各种疑问,比如“为什么升序函数和降序函数要这样定义?”、“为什么把一个函数传到sort()方法内就可以自动排序了?”
对于上面疑问,暂时来说,我们完全不需要去深入为什么,只需要知道按照上面的格式写就可以得到我们想要的效果。
实际上,学习任何技术,在初学阶段都会有那么一部分知识是没办法一下子就理解的,我们完全不需要纠结,直接跳过即可。等学到后面再翻回来看一下就会恍然大悟了。