如何根据JavaScript中的整数对字符串进行排序?

Vik*_*agi 2 javascript sorting string

//这是一个根据整数对字符串进行排序的函数

function order(words) {
    var str = words.split(' ');
    var newArr = [];
    console.log(str);
    console.log('----');
    for (var i = 0; i < str.length; i++) {
        var sorted = str[i].split('').sort();
        newArr.push(sorted);
    }
    console.log(newArr);
    var newar = [];
    for (var j = 0; j < newArr.length; j++) {
        newar += newArr[j].join('') + ' ';
    }
    console.log(newar.trim().split(' ').sort().join(' '));
}
order("is2 Thi1s T4est 3a");
Run Code Online (Sandbox Code Playgroud)

//结果应该是:Thi1s是2 3a T4est

Nin*_*olz 6

假设,只有一个数字在分割字符串中,那么您可以匹配一个数字并将其用于排序.

function order(string) {
    function getNumber(s) { return +s.match(/\d+/)[0] || 0; }

    return string
        .split(' ')
        .sort(function (a, b) { return getNumber(a) - getNumber(b); })
        .join(' ');
}

console.log(order("is2 Thi1s T4est 3a"));
Run Code Online (Sandbox Code Playgroud)