第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

該節(jié)sort函數(shù)描述是否有錯?

該節(jié)描述說sort函數(shù)返回值是以-1和1作為分界點(diǎn)判斷A,B是否需要交換位置??墒鞘纠a中的return a - b; 顯然是根據(jù)0作為分界點(diǎn)。

然后查了w3school發(fā)現(xiàn)以下描述:

若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個小于 0 的值。

若 a 等于 b,則返回 0。

若 a 大于 b,則返回一個大于 0 的值。

http://www.w3school.com.cn/jsref/jsref_sort.asp

所以該節(jié)sort函數(shù)描述是否有誤?

正在回答

8 回答

應(yīng)該以w3c為準(zhǔn)

0 回復(fù) 有任何疑惑可以回復(fù)我~

數(shù)組內(nèi)的元素有數(shù)組和字母兩種情,下面這個例子是當(dāng)要比較的對象是兩種情況的任意一種時的寫法:


<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>無標(biāo)題文檔</title>

<script>

function compare(a,b){

//升序

/*if(a>b){

return 1;

}

if(a==b){

return 0;

}

if(a<b){

return -1;

}*/

//降序

if(a<b){

return 1;

}

if(a==b){

return 0;

}

if(a>b){

return -1;

}

}

var myArra1=new Array(10,2,3,4,5,6,7,8,9,1);

var myArra2=["g","d","e","h","q","b","c","a","A","D","F"];

var myArra3=["g","d","DB","e","DA","h","AA","q","b","c","a","AB","D","F"];

document.write(myArra1.sort(compare) + "<br/>");?

document.write(myArra2.sort(compare) + "<br/>");?

document.write(myArra3.sort(compare) + "<br/>");?

</script>


</head>


<body>


</body>

</html>


0 回復(fù) 有任何疑惑可以回復(fù)我~

這句話也很重要:如果此方法沒有參數(shù),那就會將數(shù)組中的元素嘗試轉(zhuǎn)換成字符串,然后比較字符串中每個字符的ASCII碼的大小,較小的的字符串在前面。

0 回復(fù) 有任何疑惑可以回復(fù)我~

慕課網(wǎng)的寫法是有些問題的,大家看看這里面的解釋吧

http://www.softwhy.com/forum.php?mod=viewthread&tid=8360

0 回復(fù) 有任何疑惑可以回復(fù)我~

前面已經(jīng)說了有參數(shù)函數(shù)的,若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個小于 0 的值。若 a 等于 b,則返回 0。若 a 大于 b,則返回一個大于 0 的值。如果你直接對字符進(jìn)行運(yùn)算符運(yùn)算,會返回什么結(jié)果? NaN.所以不符合結(jié)果。這樣排序就沒有什么用。
所以說要根據(jù)sort函數(shù)的返回值進(jìn)行改寫.

[JavaScript]?純文本查看?復(fù)制代碼運(yùn)行代碼

console.log(["g","d","e","h","q","b","c","a","A","D","F"].sort(function(a,b){if(a>b){return 1;}if(a==b){return 0;}if(a<b){return -1;}}));

? ?


0 回復(fù) 有任何疑惑可以回復(fù)我~

描述不準(zhǔn)確

應(yīng)該是大于0,小于0,和等于0三種情況

0 回復(fù) 有任何疑惑可以回復(fù)我~

如果是字母的話,會按照字母順序進(jìn)行排序。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Maxmengt 提問者

不好意思,這好像跟我問的沒什么關(guān)系。
2016-03-31 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕UI9843876 回復(fù) Maxmengt 提問者

若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個小于 0 的值。若 a 等于 b,則返回 0。若 a 大于 b,則返回一個大于 0 的值。如果你直接對字符進(jìn)行運(yùn)算符運(yùn)算,會返回什么結(jié)果? NaN.所以不符合結(jié)果。這樣排序就沒有什么用。
2016-06-08 回復(fù) 有任何疑惑可以回復(fù)我~

沒錯? 0的話a=b,<=-1說明a<b , >=1說明a>b。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Maxmengt 提問者

這是建立在a,b都為整數(shù)的情況吧。
2016-03-31 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468760    人
  • 解答問題       22416    個

本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界

進(jìn)入課程

該節(jié)sort函數(shù)描述是否有錯?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號