我试图找出一个数字是否可以被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)}
}};
答案 0 :(得分:3)
JavaScript for each (num in numArray){
中没有这样的语法。
要遍历数组的所有元素,您可以使用Array.prototype.forEach
。您必须传递一个名为iteratee的函数。它将被调用为数组中的每个元素。
var array = [1,2,3];
array.forEach(function(el) {
console.log(el);
});
答案 1 :(得分:2)
这是不正确的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();
&#13;
答案 2 :(得分:0)
您需要指定您正在查看的内容。做你想做的最简单的方式是这样的:
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)
}
}
答案 3 :(得分:-1)
您使用的for each
语法不正确。在Javascript(EcmaScript 5)中编写它的正确方法是:
for(var i=0;i<numArray;i++){
var num = numArray[i];
// ...
}
或者,如果您使用的是ES6,则可以使用以下内容:
for(let num of numArray){
// ...
}