JavaScript趣题:字符串排序

黄舟
黄舟 原创
2017-02-13 16:16:26 1467浏览

你的任务是对一个给定的字符串进行排序。

字符串的每一个单词都包含一个单独的数字,这个数字代表了单词在字符串中应该所处的位置。

数字在19之间,所以含有1的会是第一个单词。

如果给定的字符串是空的,返回一个空字符串。

例如: "is2 Thi1s T4est 3a"

返回:"Thi1s is2 3a T4est"

好了,咋们看看如何编写一个这样的函数吧。

1.首先对给定字符串根据空格进行分割,毕竟数组比字符串更容易操作。

2.接着制定排序规则,哪个单词中包含的数字更大,排名就靠后。

3.然后,用数组的sort方法,传入排序规则匿名函数,进行定制排序。

4.最后,将sort后的数组进行聚合,返回字符串。

这个题目还是挺容易的,熟练的同学很快就能搞定。


function findNumber(str){
    for(var i=0;i<str.length;i++){
        var chr = str.charAt(i);
        if(!isNaN(chr)){
            return parseInt(chr);
        }
    }
}

function order(words){
    return words.split(" ").sort(function(a,b){
        return findNumber(a) - findNumber(b);
    }).join(" ");
}

以上就是JavaScript趣题:字符串排序的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。