function multiple(){
var arr=[]
for (var i =0; i<1000;i++){
(i%3==0 || i%5==0) : arr.push(i) ? continue
}
return arr.reduce(function(sum,i){sum+=i;return sum})
}
console.log(multiple())
错误:
(i%3==0 || i%5==0) : arr.push(i) ? continue
^
SyntaxError: Unexpected token :
答案 0 :(得分:1)
语法错误是因为你需要反转:和?写一个合适的三元运算符
(i%3==0 || i%5==0) ? arr.push(i) : continue
虽然说实话,你真的不需要三元运算符,因为那将是你循环的唯一一行。继续实际上不会跳过任何内容,实际上如指出的那样不能用作表达式。
只需使用基本条件
if(i%3==0 || i%5==0) {
arr.push(i);
}
答案 1 :(得分:0)
由于你只是返回金额,你可以简单地做
function multiple() {
var sum = 0;
for( var i=0 ; i<1000 ; ++i ) if( i%3==0 || i%5==0 ) sum += i;
return sum;
}