1. 問(wèn)題背景
如果定義了一個(gè)字符串類型數(shù)組,可以直接使用sort方法,對(duì)元素進(jìn)行排序;但是如果數(shù)組的元素是數(shù)值類型的,使用sort方法進(jìn)行排序,效果就達(dá)不到了。如果堅(jiān)持使用sort方法對(duì)數(shù)值類型元素排序,可以添加一個(gè)比較大小的函數(shù)。
2. 實(shí)現(xiàn)源碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用sort方法給數(shù)組元素排序</title>
<script>
window.onload = function(){
var a = ['hui','you','are','save','add','opp'];
a.sort();
console.log(a);
var b = [23,90,100,1,300,768,2];
b.sort();
console.log(b);
}
</script>
</head>
<body>
</body>
</html>
3. 實(shí)現(xiàn)效果

實(shí)現(xiàn)效果
4. 改進(jìn)源碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用sort方法給數(shù)組元素排序</title>
<script>
window.onload = function(){
var a = ['hui','you','are','save','add','opp'];
a.sort();
console.log(a);
var b = [23,90,100,1,300,768,2];
b.sort(compareData);
console.log(b);
}
function compareData(n1,n2){
return n1 - n2;
}
</script>
</head>
<body>
</body>
</html>
5. 改進(jìn)效果

改進(jìn)效果
6. 代碼說(shuō)明
sort方法是按照字典順序?qū)υ剡M(jìn)行排序的,因此它排序的元素類型都是字符串;如果元素類型是數(shù)值類型,它也會(huì)認(rèn)為是字符串。如果還是想要使用sort方法對(duì)數(shù)組數(shù)值元素排序,可以在排序之前傳入一個(gè)比較大小的函數(shù),sort方法可以根據(jù)函數(shù)比較兩個(gè)元素的大小,確定數(shù)組的順序。