[問題] 請問 javascrip 字串與數字混合排序
各位大大午安
最近遇到一個很棘手的問題(我功力太弱)
就是字串和數字混合排序
還麻煩各位大大指點一下觀念
非常感謝了 T_T
範例如下:
$(function(){
var a = [];
a=[1,2,43,4,"61",66,7,"a490",5,3,77,7,777,80];
function aa(m,n){
return (m-n);
}
for(var i=0; i<a.length; i++){
if(Math.floor(a[i]/2)>= 0 || Math.floor(a[i]/2)< 0){
a[i] = +(a[i]);
}
else{
a[i] = a[i];
}
}
$("#span1").append(a.sort(aa)+",");
});
紅色的是我想要排序的陣列
預期的結果是:1,2,3,4,5,7,7,43,61,66,77,80,777,a490
用以上的寫法順利達成
(for迴圈是判斷是不是數字,不是的話就把字串轉成數字)
但是陣列內如果增加一個b,變成:
a=[1,2,43,4,"61",66,7,"a490",5,3,77,7,777,80,"b"];
結果卻變成:1,b,43,4,61,66,7,2,5,3,77,7,777,80,a490
亂七八糟了...T_T
不知道這種字串與數字混合且不規則的陣列
各位大大都是怎麼解決排序問題的呢?
苦惱好久...非常感謝啦 T_T
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.180.41
→
07/09 17:04, , 1F
07/09 17:04, 1F
→
07/09 17:05, , 2F
07/09 17:05, 2F
→
07/09 17:05, , 3F
07/09 17:05, 3F
→
07/09 17:10, , 4F
07/09 17:10, 4F
→
07/09 17:12, , 5F
07/09 17:12, 5F
→
07/09 17:13, , 6F
07/09 17:13, 6F
→
07/09 17:17, , 7F
07/09 17:17, 7F
→
07/09 17:18, , 8F
07/09 17:18, 8F
→
07/09 17:20, , 9F
07/09 17:20, 9F
推
07/10 20:05, , 10F
07/10 20:05, 10F
推
07/10 20:08, , 11F
07/10 20:08, 11F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章