Your order, please
您的任务是对给定的字符串进行排序。字符串中的每个单词都将包含一个数字。该数字是单词在结果中应具有的位置。
注意:数字可以从1到9。因此1将是第一个单词(而不是0)。
如果输入字符串为空,则返回一个空字符串。输入字符串中的单词将仅包含有效的连续数字。
function order(words){
var words_spli = words.split(" ");//按照空格分割
var obj= {}//存储排列好的对象
var arr = words.match(/\d/g)//查找多个与值向匹配的值并返回内容
for(let i=0;i<words_spli.length;i++){
//排序
//result[arr[i]]:将words_pli[0]传进result[2]中
//words_pli:当下标为0时 内容为 is2
//通过这样的方法使其排序成功
obj[arr[i]] = words_spli[i]
}
var result =[];
//将对象放进数组
for (var key in obj) {
result.push(obj[key])
}
return result.join(" ")
}
Codewars上排名第一的答案
return words.split(' ').sort(function(a, b){
return a.match(/\d/) - b.match(/\d/);
}).join(' ');