你的任務是對一個給定的字串進行排序。
字串的每一個單字都包含一個單獨的數字,這個數字代表了單字在字串中應該所處的位置。
數字在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)!