1. sort()方法
1.1. sort()方法用于对数组的元素进行排序。该方法是在原数组上进行排序, 而不是生成副本。
1.2. 语法
arrayObject.sort(sortby)
1.3. 参数
1.4. sort()方法返回对数组的引用。
1.5. 如果调用该方法时没有使用参数, 将按字母顺序对数组中的元素进行排序, 说得更精确点, 是按照Unicode字符编码的顺序进行排序。要实现这一点, 首先应把数组的元素都转换成字符串(如有必要), 以便进行比较。
1.6. 如果想按照其他标准进行排序, 就需要提供比较函数, 该函数要比较两个值, 然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b, 其返回值如下:
- 若a小于b, 在排序后的数组中a应该出现在b之前, 则返回一个小于0的值。
- 若a等于b, 则返回0。
- 若a大于b, 则返回一个大于0的值。
1.7. 对数字数组进行升序排序
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});
1.8. 对数字数组进行降序排序
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b - a});
2. reverse()方法
2.1. reverse()方法用于颠倒数组中元素的顺序。该方法会改变原始数组, 而不是创建新的数组。
2.2. 语法
arrayObject.reverse()
2.3. reverse()方法返回对数组的引用。
3. 例子
3.1. 代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>数组排序</title>
</head>
<body>
<script type="text/javascript">
var fruits = ["Banana", "Orange", "Apple", "AaMango", "AAMango"];
document.write('原始数组: ' + fruits + '<br />');
var sortFruits = fruits.sort();
document.write('使用sort()方法排序后的数组: ' + fruits + '<br />');
document.write('sort()方法返回数组的引用, sortFruits: ' + sortFruits + '<br />');
var reverseFruits = fruits.reverse();
document.write('使用reverse()方法颠倒后的数组: ' + fruits + '<br />');
document.write('reverse()方法返回数组的引用, reverseFruits: ' + reverseFruits + '<br /><hr />');
var points = [40, 100, 1, 5, 25, 10];
document.write('原始数组: ' + points + '<br />');
points.sort(function(a, b){
return a - b;
});
document.write('升序数组: ' + points + '<br />');
points.sort(function(a, b){
return b - a;
});
document.write('降序数组: ' + points + '<br />');
</script>
</body>
</html>
3.2. 效果图