数组内置方法 排序方法
排序方法
排序方法: 修改了原数组
- sort: 排序(不是升序降序) 默认是按照字符串排序
sort返回值:
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。 - reverse: 倒叙 元素位置颠倒(第一个跑到最后一个,最后跑到第一个)
该方法会改变原来的数组,而不会创建新的数组。
sort例题:
创建一个数组,并按照数值的大小对数字进行排序:
<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>
输出:
10,5,40,25,1000,1
1,5,10,25,40,1000
reverse例题:
创建一个数组,然后颠倒其元素的顺序:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr + "<br />")
document.write(arr.reverse())
</script>
输出:
George,John,Thomas
Thomas,John,George
对数组进行排序和倒叙进行修改
<script type="text/javascript">
//sort
var arr=[101,21,12,98,77];
arr.sort();
console.log(arr);// 101,21,12,98,77 按字符串排序
var arr1=[101,21,12,98,77]; //实现升序
arr1.sort(function(a,b){
if(a>b){
return 1;
}else if(a<b){
return -1;
}
return 0;
})
console.log(arr1); //[12, 21, 77, 98, 101]
var arr2=[101,21,12,98,77]; //实现降序
arr2.sort(function(a,b){
if(a>b){
return -1;
}else if(a<b){
return 1;
}
return 0;
})
console.log(arr2); //[101, 98, 77, 21, 12]
//reverse
var brr=['how','are','you'];
brr.reverse();
console.log(brr); //["you", "are", "how"]
</script>