Можно ли получить iOS 5.1 SDK для Xcode 4.2 на Snow Leopard?

У меня была аналогичная ситуация, но у меня была смесь буквенно-цифровых & amp; числовое значение и необходимо отсортировать все числовые сначала, а затем буквенно-числовые, поэтому:

A10
1
5
A9
2
B3
A2

необходимо стать:

1
2
5
A2
A9
A10
B3

Я смог использовать предоставленный алгоритм и немного взломать более того, чтобы выполнить это:

var reA = /[^a-zA-Z]/g;
var reN = /[^0-9]/g;
function sortAlphaNum(a,b) {
    var AInt = parseInt(a, 10);
    var BInt = parseInt(b, 10);

    if(isNaN(AInt) && isNaN(BInt)){
        var aA = a.replace(reA, "");
        var bA = b.replace(reA, "");
        if(aA === bA) {
            var aN = parseInt(a.replace(reN, ""), 10);
            var bN = parseInt(b.replace(reN, ""), 10);
            return aN === bN ? 0 : aN > bN ? 1 : -1;
        } else {
            return aA > bA ? 1 : -1;
        }
    }else if(isNaN(AInt)){//A is not an Int
        return 1;//to make alphanumeric sort first return -1 here
    }else if(isNaN(BInt)){//B is not an Int
        return -1;//to make alphanumeric sort first return 1 here
    }else{
        return AInt > BInt ? 1 : -1;
    }
}
var newlist = ["A1", 1, "A10", "A11", "A12", 5, 3, 10, 2, "A2", "A3", "A4", "B10", "B2", "F1", "F12", "F3"].sort(sortAlphaNum);
139
задан Nina 24 September 2012 в 10:34
поделиться