首頁  >  文章  >  web前端  >  JavaScript趣題:建立電話號碼

JavaScript趣題:建立電話號碼

黄舟
黄舟原創
2017-02-04 15:46:391356瀏覽

現在提供了一個包含10個整數(0-9)的數組,要求傳回指定格式的電話號碼字串。

像這樣:

createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) // => returns "(123) 456-7890"

這些數字一定要按照出現的順序來,另外別忘了特殊符號和空格!


說實話,第一次看到這個題目,我是有點小看了,很快給出了通俗的解法。

不就是數組轉字串截取,再做拼接嘛吧!

這電話號碼由三部分組成,區號,前半部分,後半部分:

function createPhoneNumber(numbers){  
    var areaCode = numbers.slice(0,3).join("");  
    var firstPart = numbers.slice(3,6).join("");  
    var secondPart = numbers.slice(6).join("");  
    return "(" + areaCode + ") " + firstPart + "-" + secondPart;  
}

這樣做,是最直接的方法,但也是通用性,可擴展性最差的解法。


假如區號是4位,電話號碼是8位,該怎麼辦?那不是要改動好幾個地方?

最好,是給一個通用的字串模版,按模版來給定。

好咧,既然想到了這一步,那就來看看一位大牛的寫法吧!

function createPhoneNumber(numbers){  
    var format = "(xxx) xxx-xxxx";  
    for(var i = 0; i < numbers.length; i++){  
        format = format.replace(&#39;x&#39;, numbers[i]);  
    }  
    return format;  
}

嗯,這樣就好多了。

以上就是 JavaScript趣題:創建電話號碼的內容,更多相關內容請關注PHP中文網(www.php.cn)!


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