我正在尝试创建从1到1000的javascript,并将任意数量为3,5的倍数推入名为multiples的数组中,然后使用console.log()打印出该数组。出于某种原因,我的代码无效。有谁知道为什么?
var n;
var multiples = [];
for(n = 1; n <= 1000; n += 1) {
console.log("Counting");
}
if(n % 3 === 0) {
n.push(multiples);
}
else {
}
if(n % 5 === 0) {
n.push(multiples);
}
else {
}
if(n >= 1000) {
console.log(multiples);
}
else {
}
答案 0 :(得分:1)
您的代码存在一些问题。在for块中使用{}
指定每次迭代中执行的代码的范围。因此,为了访问n
的每个值,您需要将条件语句放在{}
内,而不是在multiples.push(n)
之外。
您的multiples数组有轻微的语法错误。为了将值推送到数组中,您将使用arrayname后跟点运算符,然后使用push函数,其中参数为推送值。就倍数和n而言,这意味着if()
。
使用var multiples = [];
console.log("Counting");
for(var n = 1; n <= 1000; n++) {
if(n % 3 === 0) {
multiples.push(n);
}
if(n % 5 === 0) {
multiples.push(n);
}
}
console.log(multiples);
块时,不需要其他。
通常最好的做法是在for循环中包含变量声明,并使用++而不是+ = 1.
总的来说,您的代码需要看起来更像这样
{{1}}