Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在1000下查找3和5的倍数时出现Javascript语法错误_Javascript - Fatal编程技术网

在1000下查找3和5的倍数时出现Javascript语法错误

在1000下查找3和5的倍数时出现Javascript语法错误,javascript,Javascript,语法错误是因为需要反转:和?编写适当的三元运算符 (i%3==0 || i%5==0) : arr.push(i) ? continue ^ SyntaxError: Unexpected token : 尽管说实话,你其实并不需要三元运算符,因为这是你循环的唯一一行。continue实际上不会跳过任何内容,实际上正如所指出的,不能用作表达式 只需使用一个基本条件 (i%3==0 || i%5==0) ? arr.push(i) : continue

语法错误是因为需要反转:和?编写适当的三元运算符

(i%3==0 || i%5==0) : arr.push(i) ? continue
                     ^
SyntaxError: Unexpected token :
尽管说实话,你其实并不需要三元运算符,因为这是你循环的唯一一行。continue实际上不会跳过任何内容,实际上正如所指出的,不能用作表达式

只需使用一个基本条件

(i%3==0 || i%5==0) ? arr.push(i) : continue

因为你只是返回总数,你可以简单地做

if(i%3==0 || i%5==0) {
  arr.push(i);
}
函数多重(){
var总和=0;

对于(var i=0;这不会解决问题,因为
continue
是一个语句,而不是一个表达式。另一种javascript方法是
(i%3 | | i%5)和&arr.push(i)
为什么“更多的javascript”,而不是javascript允许它正常工作的事实?似乎没有必要complexity@Rich我完全同意,以下几点已经足够并且众所周知:
if(I%3 | | I%5)arr.push(I)
。实际上,重新阅读它,这两种方法都不起作用,因为,例如,如果数字可以被3整除,那么i%3将导致数字0,其计算结果为falsy而非truthy。因此,这将返回任何不能被3和5整除的数字。因此,返回到不必要的复杂性部分应该是“3或5”而不是“3和5”
if(i%3==0 || i%5==0) {
  arr.push(i);
}
function multiple() {
    var sum = 0;
    for( var i=0 ; i<1000 ; ++i ) if( i%3==0 || i%5==0 ) sum += i;
    return sum;
}