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.git
译:编写一个函数,该函数接受一个由 10 个整数组成的数组(在 0 到 9 之间),并以电话号码的形式返回这些数字的字符串。github
例:正则表达式
createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]); // => returns "(123) 456-7890"
复制代码
(***) ***-****
String.prototype.replace()
方法中的第二个参数可使用 $n
来插入匹配的第 n
个括号匹配的字符串。注意:数组
n
为非负整数,取值范围为 [1, 100)
function createPhoneNumber(numbers) {
return numbers.join('').replace(/(\d{3})(\d{3})(\d{4})/, '($1) $2-$3');
}
复制代码
console.log(createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])); // "(123) 456-7890"
复制代码
成功提交本身的答案后,能够浏览别人的解,有最佳实践和最聪明解(clever)。ide
function createPhoneNumber(numbers) {
numbers = numbers.join('');
return `(${numbers.substring(0, 3)}) ${numbers.substring(3, 6)}-${numbers.substring(6)}`
}
复制代码
function createPhoneNumber(numbers) {
return numbers.join('').replace(/(...)(...)(.*)/, '($1) $2-$3');
}
复制代码
个人解跟这个解相似,但此解兼容性更高一些。函数
function createPhoneNumber(numbers) {
var n = numbers;
return (
'(' +
n[0] +
n[1] +
n[2] +
') ' +
n[3] +
n[4] +
n[5] +
'-' +
n[6] +
n[7] +
n[8] +
n[9]
);
}
复制代码
虽然不够优雅,但有网友评论说这是最快的解。[摊手]测试
欢迎 starui
感谢开源,peace。spa