課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
sort()接收的比較函數(shù)
function sortNum(a,b) {
if(a>b){
return 1;
}
else if(a<b){
return -1;
else{
return 0;
為什么不行?js高程是看的
2017-07-26
源自:JavaScript進(jìn)階篇 7-22
正在回答
你把數(shù)組中的雙引號(hào)都去掉就可以了,如果不去雙引號(hào)比較的是ASC||碼的大小
風(fēng)到這里就是粘 提問者
a,b比較返回的不是boolean值?
你數(shù)組中的不是數(shù),是字符串。你把sortNum函數(shù)換成下面這個(gè)就可以了。
function sortNum(a,b){
return a - b;//從小到大排列,如果想從大到小排列換成b - a就可以了。
如果你不想改這個(gè)函數(shù),那就需要用另一種辦法先把myarr這個(gè)數(shù)組中的字符串轉(zhuǎn)換成數(shù)。
例如可以這樣
<!DOCTYPE html><html>?? ?<head>?? ??? ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />?? ??? ?<title>Array對(duì)象 </title>?? ??? ?<script type="text/javascript">/*?? ??? ?function sortNum(a,b) {?? ??? ??? ?return a - b;?? ??? ?}*/?? ??? ?function sortNum(a,b) {?? ??? ??? ?if(a>b){?? ??? ??? ??? ?return 1;?? ??? ??? ?}?? ??? ??? ?else if(a<b){?? ??? ??? ??? ?return -1;?? ??? ??? ?}?? ??? ??? ?else{?? ??? ??? ??? ?return 0;?? ??? ??? ?}?? ??? ?}?? ??? ?var myarr = new Array("80","16","50","6","100","1");?? ??? ?for (var i = 0,len = myarr.length; i < len; i++) {?? ??? ??? ?myarr[i] = Number(myarr[i]);?? ??? ?}?? ??? ?document.write(myarr.sort(sortNum));?? ??? ?</script>?? ?</head>?? ?<body>?? ?</body></html>
a和b比較的,return只能返回a或者b ?
?return a ?
?return b?
舉報(bào)
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動(dòng)態(tài)交互世界
1 回答求問 sort的比較
3 回答比較函數(shù)2
1 回答sort(sortNum)函數(shù)
1 回答比較方法函數(shù)的 類型 問題
2 回答數(shù)組排序,sort()函數(shù)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-07-26
你把數(shù)組中的雙引號(hào)都去掉就可以了,如果不去雙引號(hào)比較的是ASC||碼的大小
2017-09-21
a,b比較返回的不是boolean值?
2017-07-26
你數(shù)組中的不是數(shù),是字符串。你把sortNum函數(shù)換成下面這個(gè)就可以了。
function sortNum(a,b){
return a - b;//從小到大排列,如果想從大到小排列換成b - a就可以了。
}
如果你不想改這個(gè)函數(shù),那就需要用另一種辦法先把myarr這個(gè)數(shù)組中的字符串轉(zhuǎn)換成數(shù)。
例如可以這樣
<!DOCTYPE html>
<html>
?? ?<head>
?? ??? ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
?? ??? ?<title>Array對(duì)象 </title>
?? ??? ?<script type="text/javascript">
/*?? ??? ?function sortNum(a,b) {
?? ??? ??? ?return a - b;
?? ??? ?}*/
?? ??? ?function sortNum(a,b) {
?? ??? ??? ?if(a>b){
?? ??? ??? ??? ?return 1;
?? ??? ??? ?}
?? ??? ??? ?else if(a<b){
?? ??? ??? ??? ?return -1;
?? ??? ??? ?}
?? ??? ??? ?else{
?? ??? ??? ??? ?return 0;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?var myarr = new Array("80","16","50","6","100","1");
?? ??? ?for (var i = 0,len = myarr.length; i < len; i++) {
?? ??? ??? ?myarr[i] = Number(myarr[i]);
?? ??? ?}
?? ??? ?document.write(myarr.sort(sortNum));
?? ??? ?</script>
?? ?</head>
?? ?<body>
?? ?</body>
</html>
2017-07-26
a和b比較的,return只能返回a或者b ?
?return a ?
?return b?