//这是一个根据整数对字符串进行排序的函数
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");
//结果应为:Thi1s is2 3a T4est
答案 0 :(得分: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"));
答案 1 :(得分:2)
在一行中:
function order(words) {
return words
.split(' ')
.sort((a, b) => a.match(/\d+/) - b.match(/\d+/))
.join(' ');
}