javascript 不让我使用模数? %?

javascript not letting me use modulu? %?

我试图找出一个数字是否可以被 3 整除 --- 我在研究了一下之后试图使用这个 %,但是我收到了这个错误...

script.js:5 Uncaught SyntaxError: Unexpected token %

哪个好像说我不能用?这对我来说没有意义,为什么我不能使用它?

numArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100];

function startBingBong(){
for each (num in numArray){
if (num % 3 == 0){
console.log("Bing");
} else if (num % 5 == 0){
console.log("Bong");
} else if (num % 3 == 0 && num % 5 == 0){
console.log("Bing Bong");
} else { console.log(num)}
}};

您使用的for each语法不正确。在 Javascript (EcmaScript 5) 中正确的写法是:

for(var i=0;i<numArray;i++){
    var num = numArray[i];
    // ...
}

或者,如果您使用的是 ES6,则可以使用以下内容:

for(let num of numArray){
    // ...
}

JavaScript for each (num in numArray){.

中没有这样的语法

要遍历数组的所有元素,您可以使用 Array.prototype.forEach。您必须传递一个名为 iteratee 的函数。它将为数组中的每个元素调用。

var array = [1,2,3];
array.forEach(function(el) {
  console.log(el);
});

这是不正确的 javascript。 for each (num in numArray){ 请参阅:For loop 您不能使用 num % 3,因为 num 不是任何东西。使用 arrayName[position] % 3。您还应该将最严格的 if statement 放在首位。

var numArray = [12,13,14,15,16,17,18,19,20];

function startBingBong(){
for (var i =0; i < numArray.length; i++){
if (numArray[i] % 3 == 0 && numArray[i] % 5 == 0){
console.log("Bing Bong");
} else if (numArray[i] % 5 == 0){
console.log("Bong");
} else if (numArray[i] % 3 == 0){
console.log("Bing");
} else { console.log(numArray[i])}
}};

startBingBong();

您需要指定您正在查看的内容。做你想做的最简单的方法是这样的:

for (var i = 0; i < numArray.length; i++) {
    if (i % 3 == 0) {
        console.log("Bing");
    } else if (i % 5 == 0) {
        console.log("Bong");
    } else if (i % 3 == 0 && i % 5 == 0) {
        console.log("Bing Bong");
    } else {
        console.log(i)
    }
}