gpt4 book ai didi

javascript - 如何将 for 循环每次迭代的结果存储到数组中(Javascript)

转载 作者:行者123 更新时间:2023-11-30 08:48:38 25 4
gpt4 key购买 nike

这个问题也可能是(取决于你如何看待它)- 如何使用 for 循环来做一个基本的数学运算,将 3 的倍数相加

所以我正在做 Project Euler 的问题 1。

我(已经)撞到了钢筋墙。我可以使用一些帮助 - 请只解决问题的特定部分(我不只是在寻找问题的答案,而是在寻找我的特定问题的答案,这样我就可以继续尝试使用以下方法解决其余问题你们在这里提供给我的任何答案)...

无论如何。

我(认为我)创建了一个 for 循环,它将给我 3 的倍数。但是,我试图存储 for 循环每次迭代的结果,以便它加起来等于这些倍数的总和即我正在尝试存储循环每次迭代的结果——无论是存储到数组中还是存储到采用倍数总和的变量中——这对我来说无关紧要——我不介意学习这两种方法.

我敢肯定这听起来有点令人困惑,所以让我用一个例子来描绘我的画面......

我有一个 for 循环:

for (i = 1; i <= 3; i++) {
var x = 0;
x += (i * 3);
WHAT DO I DO NEXT????

^ 所以我认为这会在循环的第一次迭代中为我提供 x 的值为 3,在第二次循环中为我提供的 x 值为 9,在最后一个循环中为我提供的 x 值为 18。这是正确的,对吧? (如果返回 18,我认为我不需要将每次迭代的值存储到数组中)

第一次迭代:

i = 1; x = 0

原始方程...

(i * 3) + x            

所以...

(1 * 3) + (x = 0) = 3

所以在第一个循环完成后,x 的值为 3,对吧???(问题:我如何存储 x 的这个值(即 3)——在 for 循环的这个阶段我如何将它存储在一个数组中?)

循环的第二次迭代:

i = 2; x = 3

(2 * 3) + (x = 3) = 9

(与之前相同的问题:如何将此值添加到数组?)

第三次迭代:

i = 3; x = 9

(3 * 3) + (x = 9) = 18

问:这不应该是for循环完成后x的最终值吗???出于某种原因,当我运行代码时,x 的最终值为 9,而不是 18

所以,基本上我是在尝试将 3 个值相加...但是接下来我该做什么?我认为我的 for 循环会在每次循环后将等式的结果添加到 x,但不是以 18(3 + 6 + 9 的总和)结束,x 的值是 9? ?

我应该使用数组吗?如果是这样,我想我可以将返回值添加到数组中,但我不确定如何将循环的每次迭代的结果添加到数组中。也许是以下?...

for (i = 1; i <= 3; i++) {
var array = [];
x = 0;
x += (i *3);
array.push(x);
};

^ 我尝试在 jfiddle 中运行它,但它只会将 x (9) 的最后一个值添加到数组中...那么我如何在每次迭代后将 x 的值添加到数组 for 循环???而且我没有看到我的 for 循环有什么问题,它返回 x 的值为 9?

此外,我假设随着我们的进步,欧拉问题会变得更加困难?如果是这样,我有大量的工作/练习要做....

提前致谢...

最佳答案

只需创建一次数组,并将每次迭代的结果推送到数组:

var array = [];
for (i = 1; i <= 3; i++) {
var x = 0;
x += (i *3);
array.push(x);
}

或者就此而言,只需使用这个:

var array = [];
for (i = 1; i <= 3; i++) {
array.push(i *3);
}

或者简单地得到因子的总和,使用这个:

var x = 0;
for (i = 1; i <= 3; i++) {
x += i *3;
}

关于javascript - 如何将 for 循环每次迭代的结果存储到数组中(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19801995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com