JavaScript趣题:字符串排序

来源:互联网 发布:齿轮强度校核软件 编辑:程序博客网 时间:2024/06/01 15:47

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

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

数字在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(" ");}


0 0