首頁  >  文章  >  web前端  >  JavaScript趣題:字串排序

JavaScript趣題:字串排序

黄舟
黄舟原創
2017-02-13 16:16:261979瀏覽

你的任務是對一個給定的字串進行排序。

字串的每一個單字都包含一個單獨的數字,這個數字代表了單字在字串中應該所處的位置。

數字在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中文網(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn