博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

sort a given string

Posted on 2017-09-19 15:49  lee_xiumei  阅读(186)  评论(0)    收藏  举报

my solution:

function order(words){
  var splitToArr = words.split(' '),
      len = splitToArr.length,
      newArr = [],
      newWords = "";
  if (!len) {
    return words;
  }
  else {
    for (var i = 0; i < len; i++) {
      var replaceToNum = splitToArr[i].replace(/[^1-9]/ig, '');
      newArr[replaceToNum - 1] = splitToArr[i];
    }
  }
  newWords = newArr.join(' ');
  return newWords;
}

test: order("is2 Th1is tes3t"); 返回("Th1is is2 tes3t");


a simple solution:

function order(words) {

   return words.split(' ').sort(function(a, b) {

    return a.match(/\d/) - b.match(/\d/);

   }).join(' ');

}