Array an function übergeben und darin auf Index zugreifen.


#1
Hallo,
ich habe seit sehr langem wieder mit dem programmieren angefangen und stehe direkt vor einem Problem.

Ich habe zwei arrays (werte1[10,20,30] & werte2[5,25,125])

in einer function BerechnenST() bekomme ich bisher
über prompt den Namen eines der arrays vom user und speichere diese in der var auswahl.

diese übergebe ich an eine zweite function in welcher ich dann auf die einzelnen Indexwerte des ursprünglichen arrays zugreifen will/muss.
Das Ergebnis sollte dann in einem Anzeigefenster mit der id=Anzeige ausgegeben.

Bei dem Zugriff auf die einzelnen Arrayindex-Werte scheitert es jedoch bisher.

Ich habe bereits einiges ausprobiert, jedoch ohne Erfolg.
Mit welchem Code kann ich das ganze umsetzten?


Javascript:
var werte1[10,20,30];
var werte2[5,25,125];

function BerechnenST(){

      var auswahl=prompt("Welcher Wertebereich findet anwendung?","werte1:werte2")
     WerteBerechnung(auswahl);

}



function WerteBerechnung(auswahl){

   var erstens = auswahl[0]*2;
   var zweitens = auswahl[1]-10;
   var drittens = auswahl[2];
   var ergebnis = erstens + zweitens + drittens;

   document.getElementById(Anzeige).innerHTML = "Wertberechnung: " + erstens + "+" + zweitens + "+" + drittens + " = " + Ergebnis;

}
 
Zuletzt bearbeitet von einem Moderator:

Sempervivum

Erfahrenes Mitglied
#2
Die Definition deiner Arrays ist fehlerhaft. So wäre es richtig:
Code:
var werte1 = [10,20,30];
var werte2 = [5,25,125];
IMO ist ein prompt für diese Aufgabe weniger geeignet, da anfällig gegen Fehleingaben des Benutzers. Besser zwei Radiobuttons für die Auswahl verwenden.
 

Quaese

Moderator
Moderator
#3
Hi,

desweiteren liefert prompt nur einen String zurück. Dieser repräsentiert keinen Array, so dass du zunächst Zugriff darauf erhalten musst. Wenn die Arrays werte1 und werte2 global deklariert sind, kann das über das window-Objekt erfolgen. Zudem solltest du noch den Fall berücksichtigen, dass die Eingabe über prompt fehlerhaft war und einen Defaulwert verwenden.

Javascript:
function WerteBerechnung(auswahl){
  auswahl = window[auswahl] || [10, 20, 30];

   var erstens = auswahl[0]*2;
   var zweitens = auswahl[1]-10;
   var drittens = auswahl[2];
   var ergebnis = erstens + zweitens + drittens;

   console.log("Wertberechnung: " + erstens + "+" + zweitens + "+" + drittens + " = " + ergebnis);

}
Ciao
Quaese
 

Neue Beiträge