Heim >Web-Frontend >js-Tutorial >Lustige JavaScript-Frage: Erstellen einer Telefonnummer
Jetzt wird ein Array mit 10 Ganzzahlen (0-9) bereitgestellt, das die Rückgabe einer Telefonnummernzeichenfolge im angegebenen Format erfordert.
So:
createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) // => returns "(123) 456-7890"
Diese Zahlen müssen in der Reihenfolge angegeben werden, in der sie erscheinen, und vergessen Sie nicht die Sonderzeichen und Leerzeichen!
Um ehrlich zu sein, als ich diese Frage zum ersten Mal sah, wurde ich etwas unterschätzt und habe schnell eine beliebte Lösung gegeben.
Ist es nicht einfach, das Array in einen String umzuwandeln, ihn abzufangen und ihn dann zu spleißen?
Diese Telefonnummer besteht aus drei Teilen, der Vorwahl, der ersten Hälfte und der zweiten Hälfte:
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; }
Dies ist die direkteste Methode, aber auch die vielseitigste und skalierbar. Schlechte Lösung.
Was passiert, wenn die Vorwahl 4 Ziffern und die Telefonnummer 8 Ziffern hat? Wäre es nicht mehrerer Änderungen bedürfen?
Am besten geben Sie eine allgemeine Zeichenfolgenvorlage an und geben diese entsprechend der Vorlage an.
Okay, nachdem Sie nun über diesen Schritt nachgedacht haben, werfen wir einen Blick auf die Schreibmethode eines Experten!
function createPhoneNumber(numbers){ var format = "(xxx) xxx-xxxx"; for(var i = 0; i < numbers.length; i++){ format = format.replace('x', numbers[i]); } return format; }
Nun, das ist viel besser.
Das Obige ist die interessante JavaScript-Frage: Erstellen einer Telefonnummer. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!