你的任务是对一个给定的字符串进行排序。
字符串的每一个单词都包含一个单独的数字,这个数字代表了单词在字符串中应该所处的位置。
数字在1和9之间,所以含有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中文网(www.php.cn)!