为什么我的javascript不起作用?

时间:2015-03-28 22:43:32

标签: javascript arrays

我正在尝试创建从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 {
}

1 个答案:

答案 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}}