Write a function that accepts an array of 10 integers (between 0 and 9), that returns a string of those numbers in the form of a phone number.
Example:
createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) // => returns "(123) 456-7890"
The returned format must be correct in order to complete this challenge.
Don't forget the space after the closing parentheses!
我的答案:
1 function createPhoneNumber(numbers){ 2 3 //var a="(".concat(numbers); 4 //a=a.replace(/,/g,""); 5 var a=numbers.slice(0,3); 6 a="(".concat(a).concat(") "); 7 var b=numbers.slice(3,6); 8 b=b.concat("-"); 9 var c=numbers.slice(6); 10 var d=a.concat(b).concat(c); 11 d=d.replace(/,/g,""); 12 return d; 13 14 }
优秀答案:
1 function createPhoneNumber(numbers){ 2 var format = "(xxx) xxx-xxxx"; 3 4 for(var i = 0; i < numbers.length; i++) 5 { 6 format = format.replace('x', numbers[i]); 7 } 8 9 return format; 10 }
1 function createPhoneNumber(numbers){ 2 return numbers.join('').replace(/(...)(...)(.*)/, '($1) $2-$3'); 3 }