[英]How to insert an array to another array at each iteration of a for loop in javascript
[英]How to store the result of each iteration of a for loop into an array (Javascript)
這個問題也可能是(取決於您的看法)-如何使用for循環進行基本的數學運算,將3的倍數之和相加
所以我正在做Euler項目的問題1。
我已經(已經)撞上了鋼筋牆。 我可以使用一些幫助-請僅解決問題的一部分(我不是在尋找問題的答案,而是在解決我的具體問題,因此我可以繼續嘗試使用解決問題你們在這里給我的任何答案)...
無論如何。
我(認為我)創建了一個for循環,該循環將為我提供3的倍數。但是,我正在嘗試存儲for循環的每次迭代結果,以便將它們的總和乘以這些總和。 m嘗試存儲循環的每次迭代的結果-無論是將其存儲到數組中還是將變量乘以乘數的總和-對我而言都無關緊要-我不介意學習這兩種方法。
我確定這聽起來有點令人困惑,所以讓我用一個例子來畫我的畫...
我有一個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,但x的值為9而不是以w / 18( 3 + 6 + 9
的總和)結束。
我應該使用數組嗎? 如果是這樣,我想我可以將返回值添加到數組中,但是我不確定如何將循環的每次迭代的結果添加到數組中。 也許以下?
for (i = 1; i <= 3; i++) {
var array = [];
x = 0;
x += (i *3);
array.push(x);
};
^我嘗試在jfiddle中運行它,但是只會將x(9)的最后一個值添加到數組中...因此,在for循環的每次迭代之后,如何將x的值添加到數組中? 而且我看不到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;
}
您在循環的每一步都聲明var x = 0
和var array = []
,請嘗試以下操作:
var array = [], x = 0;
for (i=1; i<4; i++){
x += (i*3);
array.push(x);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.