Javascript 格式化电话号码时输出错误

Javascript 格式化电话号码时输出错误,javascript,Javascript,我的输出不是我想要的格式 我得到(123)4567890-,但我想要(123)456-7890 //显示为电话号码:(123)456-7890 var num=[1,2,3,4,5,6,7,8,9,0]; var-zip=[]; var mid=[]; var last=[]; 对于(i=0;i

我的输出不是我想要的格式

我得到
(123)4567890-
,但我想要
(123)456-7890

//显示为电话号码:(123)456-7890
var num=[1,2,3,4,5,6,7,8,9,0];
var-zip=[];
var mid=[];
var last=[];
对于(i=0;i<10;i++){
如果(i<3){
压缩推送(num[i]);
}else if(2console.log(“(“+zip.join(”“+”)”+mid.join(”“+”-“+last.join(”“”))”)对于原始代码,
(2
就是出错的地方

它说“如果2小于i,其结果小于6”。这将始终是真的,因为布尔表达式“2”小于“i”,将为真或假,当真/假解析为1/0时,它将始终小于6

只使用
(i<6)
。它将捕获小于6的i,但不会捕获小于3的i,因为它们将在您的第一个if语句中捕获

//显示为电话号码:(123)456-7890
var num=[1,2,3,4,5,6,7,8,9,0];
var-zip=[];
var mid=[];
var last=[];
对于(i=0;i<10;i++){
如果(i<3){
压缩推送(num[i]);
}否则如果(i<6){
mid.push(num[i]);
}否则{
last.push(num[i]);
}
}

console.log(“(“+zip.join(”“+”)”+mid.join(”“+”-“+last.join(”“”))”)
2
这并不能满足您的需求。
如果(2
不能满足您的需求。我也认为这个循环几乎没有意义。在这个循环中,你不会有效地问
如果(真的<6)
如果…?更准确地说,
你最好在这里使用
slice
让zip=num.slice(0,3)。加入(“”)