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

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

JS中的數字排序問題?

JS中的數字排序問題?

YanIsPower 2017-10-15 14:18:59
var myArray = [1,5,3,2,14,55,101,19,500];????function sequence(a, b) {???????return a - b;??}????console.log(myArray.sort(sequence));??//alert(arr.sort(sequence()));第一個是alert;第二個是 console.log。為什么會出現這種情況,alert怎么解決呢?
查看完整描述

3 回答

已采納
?
cxxyjsj

TA貢獻119條經驗 獲得超22個贊

數組arr中方的是字符串數字吧? 字符串比較是通過ascii碼從左往右比較的,所以先排1開頭,然后是2開頭等。。。

查看完整回答
反對 回復 2017-10-15
  • YanIsPower
    YanIsPower
    嗯,是這樣,但用log的話順序是好的,但是用彈框的話 就是先排1開頭的了,很懵。 o.o
  • cxxyjsj
    cxxyjsj
    你用log打印的是myArray數組,這個數組內部是數字.
  • YanIsPower
    YanIsPower
    嗯 ,問題解決了,謝謝
?
cnyballk

TA貢獻148條經驗 獲得超94個贊

sort方法本身無論是數字還是字符串都是使用toString轉化成字符串后以ascii碼進行比較,你這里是因為你alert的sort(sequence())里面的函數傳入后執行了,所以和sort()無分別,只有這樣寫sort(sequence)這樣才對,參數是用來確定元素順序的函數的名稱

查看完整回答
1 反對 回復 2017-10-17
  • 3 回答
  • 0 關注
  • 1984 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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