gpt4 book ai didi

JavaScript - 有条件地抛出未捕获的语法错误

转载 作者:行者123 更新时间:2023-11-30 16:40:07 26 4
gpt4 key购买 nike

我目前正在努力将输入到下面函数中的任意数量的任意数字转换为货币(用每三个字符用逗号分隔的字符串表示)。一切都很好,直到我意识到如果输入的数字的长度是 4,那么逗号需要放置为 1,234 而不是 123,4。当我将初始 if 语句包裹在我的 for 循环中时,函数似乎有点失控了。 (1) 我一直在控制台中抛出“未捕获的语法错误:其他意外标记”。 (2) 我认为这可能是因为试图在 for/if/else 周围放置一个 if/else。任何关于我的错误的线索都将不胜感激。查理

function toCurrency(price){


var newStrng = price.toString().split("");

var stringCh = [];

if(newStrng.length===4){

console.log("gotcha");
stringCh = newStrng.splice(1,0,",");
return stringCh;

} else {

for(var i = 0; i < newStrng.length; i++) {
if(i %3 === 0 && i !== 0){

stringCh.push(",");
stringCh.push(newStrng[i]);

}
} else {

stringCh.push(newStrng[i]);
}
}

var finallyDone = stringCh.join("");
return finallyDone;

}//EO function

最佳答案

下面 block 中的if语句

for(var i = 0; i < newStrng.length; i++) {
if(i %3 === 0 && i !== 0){

stringCh.push(",");
stringCh.push(newStrng[i]);

}
} else {

stringCh.push(newStrng[i]);
}
}

有一个额外的,就在else 之前。将其取出,您应该不会再收到语法错误。

通过确保代码正确缩进,您可以更轻松地在将来发现此类错误,这样您就可以看到哪些括号与哪些 block 相关联。虽然我很欣赏它可以在源代码中合理地缩进,并且可能没有完美地复制到这里。

关于JavaScript - 有条件地抛出未捕获的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32129108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com