var a = \"C1234\";
undefined
var b = \"C2456\";
undefined
a.match(/^\\D+/);;
[C]
a.match(/^\\D+/) == b.match(/^\\D+/);
false
a.match(/^\\D+/).toString() == b.match(/^\\D+/);
true
a.match(/^\\D+/).toString() == b.match(/^\\D+/).toString();
true


슈ㅣ발.


var array = [\'92256a\', \'10a\', \'4567b\', \'4567a\', \'1000a\', \'C1234\', \'245W5\', \'500a\', \'500\', \'D418\', \'C2456\'];


var compare = function(a, b){
    if(a == b)
        return 0;

    if(!!a.match(/^\\d/) && !b.match(/^\\d/))
        return -1;

    if(!!a.match(/^\\d/)){
        //a and b start with number;
        var s_a = parseInt(a.match(/^\\d+/));
        var s_b = parseInt(b.match(/^\\d+/));

    }else if(!a.match(/^\\d/)){
        //a and b start with string;
        var s_a = a.match(/^\\D+/);
        var s_b = b.match(/^\\D+/);

        s_a = (!!s_a) ? s_a.toString() : s_a;
        s_b = (!!s_b) ? s_b.toString() : s_b;
    }

    if(s_a != s_b)
        return (s_a < s_b) ? -1 : 1;
    else
        return compare(a.replace(s_a, \"\"), b.replace(s_b, \"\"));
}

array.sort(compare);





진짜 하고싶었던 이야기


인클웹 또 왜 안되냐