Eine Funktion auf mehrere Werte anwenden
F3it][
- javascript
Hallo,
ich habe gerade angefangen JS zu lernen und wüsste gerne wie man eine Funktion auf mehrere Variablen anwenden kann (z.B. alle Variablen innerhalb eines Arrays), und die resultierenden Werte weiterverarbeiten kann.
Ein kleine Beispiel:
Alle Zahlen innerhalb eines Arrays sollen von einer Funktion zum Beispiel quadriert werden. Danach sollen die Quadratwerte miteinander addiert werden.
Ist bzw. wenn ja, wie ist das möglich?
vielen Dank im Vorraus,
F3it][
Hallo,
ich habe gerade angefangen JS zu lernen und wüsste gerne wie man eine Funktion auf mehrere Variablen anwenden kann (z.B. alle Variablen innerhalb eines Arrays), und die resultierenden Werte weiterverarbeiten kann.
Durchlaufe den Array mit einer for-Schleife und wende auf jedes Arrayelement eine Funktion an, dessen Rückgabewert du wieder in den Array unter demselben Index einträgst. Für weitere Operationen kannst du den Array wieder auf gleiche Weise durchlaufen und die Werte weiterverwenden.
Ein kleine Beispiel:
Alle Zahlen innerhalb eines Arrays sollen von einer Funktion zum Beispiel quadriert werden. Danach sollen die Quadratwerte miteinander addiert werden.
Falls ich dich richtig verstanden habe:
/* Array mit Werten definieren */
var meinarray=Array(1,2,3,4,5); /* http://selfhtml.teamone.de/javascript/sprache/variablen.htm#definieren, http://selfhtml.teamone.de/javascript/objekte/array.htm#allgemeines */
/* Funktion deklarieren mit einem Argument */
function quadriere (zahl) { /* http://selfhtml.teamone.de/javascript/sprache/funktionen.htm#definieren */
/* Berechne das Quadrat und gebe das Ergebnis zurück */
return zahl*zahl; /* http://selfhtml.teamone.de/javascript/sprache/funktionen.htm#rueckgabewert, http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#berechnung */
}
/* Durchlaufe den Array */
for (var i=0; i<meinarray.length; i++) /* http://selfhtml.teamone.de/javascript/sprache/schleifen.htm#for, http://selfhtml.teamone.de/javascript/objekte/array.htm#length, http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#berechnung */
/* Übergebe den Wert des Arrayelements an die Funktion quadriere und schreibe den zurückgegebenen Wert wieder in den Array mit demselben Index */
meinarray[i]=quadriere(meinarray[i]); /* http://selfhtml.teamone.de/javascript/objekte/array.htm#assoziative_arrays */
/* Deklariere Ergebnisvariable */
var ergebnis=0;
/* Durchlaufe den Array */
for (i=0; i<meinarray.length; i++)
/* Addiere zum ergebnis den Wert des aktuellen Arrayindex */
ergebnis+=meinarray[i]; /* http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#berechnung */
/* Gebe das Ergebnis aus */
document.write('<p>1^2+2^2+3^2+4^2+5^2='+ergebnis+'</p>'); /* mit + kannst du auch Strings verketten */
Grüße,
Mathias
Vielen Dank,
Genau da habe ich gemeint :)
Gruß,
F3it][