亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript 數組的sort()方法

javascript 數組的sort()方法

Helenr 2018-12-06 19:28:16
var numbers = [3,342,23,22,124]; numbers.sort(function(a,b){return b - a}); 以上代碼就能求出數組的最大值,在sort()方法里傳入的是一個比較函數。 小弟不才,只知道這么用,但是不a,b分別代表什么我一點都不清楚! 或者說他的內部是怎樣實現的? 麻煩各位大俠講解一下 再在感激不盡! 謝謝各位大俠了喲!
查看完整描述

5 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

var numbers = [3,342,23,22,124];

numbers.sort(function(a,b){return b - a});

第一次比較時,a=342,b=3,

3<242

第二次 a=23, b=3

3<23

第三次 a=23,b=342

342>23

第四次 a=23,b=3

3<23

第五次 a=22,b=3

3<22

第六次a=22,b=23

.....

至于怎么樣自己看吧...

?

?

?

?

?

?

?

?

查看完整回答
反對 回復 2018-12-24
?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

我不是很清楚,應該是a 與 b進行比較,就對應的序列比較如 1,與2 比較 類似冒泡法。

查看完整回答
反對 回復 2018-12-24
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

這個就是要告訴你,如果你要排序的是字符串數組也可以像這樣排序。例如:

var numbers = ['3','342','23','22','124'];

numbers.sort(function(a,b){return b.length - a.length});

這樣就會按照長度來排序了,這個函數就是排序時的回調函數

查看完整回答
反對 回復 2018-12-24
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

為了正確對數組進行排序,必須為sort()方法定義一個比較函數

對傳入的一對值進行比較,讓后返回3個值的任何一個:小于0.等于0,或者大于0.

當函數的返回值小于0的時候,可知道第二個值大于第一個值,因此第二個值排序靠后,

當函數的返回值大于0的時候,可以知道第一個值大于第二個值,第一個值靠后,

當等于0的時候,就不必排序了,這兩個值是相等的

numbers.sort(function(a,b){return b - a});是降序排列,return a-b是升序排列;

查看完整回答
反對 回復 2018-12-24
  • 5 回答
  • 0 關注
  • 523 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號