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)
}
}
我试图找出一个数字是否可以被 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)
}
}