【发布时间】:2017-12-17 12:29:01
【问题描述】:
我有一个包含生成数字 0-9 的 for 循环的脚本。该脚本还包括一个检查由 for 循环生成的数字是否可被 3 或 5 整除的函数。如果它们可被整除(例如 9 可被 3 整除),则 if/else 语句返回 true,如果它们是不可整除,条件语句返回 false。
我想要实现的是,当条件语句返回true时,应该将数字添加到一个空数组中。
在这种情况下,期望的结果是:
var myArray = [0, 3, 5, 6, 9];
这是我当前的代码:
var isDivisibleArray = [];
for(var i = 0; i < 10; i++) {
isMultiple(i);
}
function isMultiple() {
var isMultipleOf3 = i % 3;
var isMultipleOf5 = i % 5;
if(isMultipleOf3 === 0 || isMultipleOf5 === 0) {
return true;
}
else {
return false;
}
}
isMultiple();
我正在使用模运算符来确定一个数字是否可以被 3 或 5 整除,例如,如果 x % 3 = 0,x 可以被 3 整除。
我也做了一些实验。如果我这样做是 for 循环,我可以设法使用警报打印结果:
for(var i = 0; i < 10; i++) {
alert(isMultiple(i));
}
结果是 T,F,F,T,F,T,T,F,F,T。
我也在条件语句中尝试过这种方法:
if(isMultipleOf3 === 0 || isMultipleOf5 === 0) {
isDivisibleArray.push(i);
}
这没有成功。非常感谢所有帮助!
【问题讨论】:
-
你到底为什么要调用isMultiple()?
-
调用函数,否则它不会运行,对吧?
-
旁注:更改顺序。首先是最大的 5,然后是 3
-
你为什么要调用另一个函数?为什么不直接做呢? jsfiddle.net/r2vbgm33 或者,如果您只想要数字数组:jsfiddle.net/r2vbgm33/1 另外,关于第一条评论,您正在循环中调用函数。最后你不需要再次调用它。
-
旁注,您没有在函数内部接收
i作为参数
标签: javascript arrays for-loop if-statement