JavaScript while oder for Schleife - Multiplikation?
Hey Leute folgendes Problem,
ich möchte gerne ne Schleife schreiben, bei welcher es folgende Bedingungen gibt.
Value 1 und value 2 sind vorhanden.
Value 1 soll x mal mit sich selbst multipliziert werden, wichtig hierbei ist, dass Value2 die Anzahl angibt, wie oft value1 sich mit sich selbst multiplizieren soll, sprich :
Wer1:2
Wert2:3
Ergebnis = 2*2*2 =8
4 Antworten
![](https://images.gutefrage.net/media/user/Isendrak/1555747535308_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1555747535000)
Das geht sowohl mit for als auch mit while.
for:
let a=2;
let b=3;
let c=1;
for(; b > 0; --b) c*=a;
//an dieser Stelle hat c den Wert 8
while:
let a=2;
let b=3;
let c=1;
while(b-- > 0) c*=a;
//an dieser Stelle hat c den Wert 8
![](https://images.gutefrage.net/media/user/Multivit4min/1473470456051_nmmslarge__563_43_801_801_342c3a9e0376bea99872f0fb3ef5d0b0.jpg?v=1473470458000)
Falls du Math.pow noch nicht kennst wäre das wohl der effizientere weg derartiges zu lösen
Math.pow(2, 3)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Die Antwort von Isendrak ist schon korrekt. Habe es dir noch mal etwas "anfänger freundlicher" aufgeschrieben.
var wert1 = 2;
var wert2 = 3;
var wert3 = wert1; // Braucht es weil wert1 überschrieben wird.
for (var i = 0; i < wert2; i++) {
wert1 = wert1 * wert3;
}
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Stimmt! Allerdings wollte ich seine Namen verwenden. i müsste 1 sein, dann gehts auch...
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Du meinst wohl hintereinander geschrieben werden, oder? Da 2*2*2 8 ist.
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Du brauchst da keine Schleife.
wert1 = 2;
wert2 = 3;
ergebnis = wert1 ** wert2 ;
console.log(ergebnis);
So käme ein falsches Ergebnis (16) heraus. Der Wert von wert1 sollte 1 sein, der Wert von wert3 2. Da es hier um die Berechnung der Potzenz geht, wäre es passender, die Variablen auch mit entsprechenden Namen auszustatten (power, base, exponent).