2016-06-22 26 views
0

I e6Accumulating eines Arrays Werte - Javascript

Hier eine Reihe von Zahlen in einem Array zu akkumulieren bin versucht, ist der entsprechende Code.

e3 = prompt(e1 + ", Please enter few numbers (maximum of 6) separated by commas", "1,2,3,4,5"); 
e6 = e3.split(','); 

for(var a=0;a <= e6.length ;a++) { 

     e9=e9 + +e6[a]; 

    } 
document.write(e9) ; 

Doch was gedruckt gets ist NaN statt der Standard Summe von 15. Alle Ideen, wie sie zu beheben? Vielen Dank.

Bearbeiten: Vergessen zu erwähnen, dass ich bereits alle meine Variablen früher deklariert hatte.

var e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11; 

Edit2: Hier ist meine gesamte Arbeit in Aktion. https://jsfiddle.net/nhz0Lnx8/

+2

Deklarieren Sie Ihre Variablen mit 'var' und initialisieren' e9' auf '0'. – Pointy

+0

@Pointy Kein Glück. 'var a = 0; e9 = 0; ' – andirew1990

+0

10 @ andirew1990 Von deiner Geige (Edit # 2) sieht es so aus, als hättest du dieses Problem gelöst. Ist das korrekt? –

Antwort

0
var e3 = prompt("Please enter few numbers (maximum of 6) separated by commas", "1,2,3,4,5"); 
var e6 = e3.split(','); 

var e9 = 0; 

for(var a=0;a < e6.length ;a++) { 

     e9 += parseInt(e6[a]); 

    } 
document.write(e9) ; 
+0

Hat nichts geändert. Immer noch NaN – andirew1990

+0

Bitte überprüfen Sie jetzt. Jetzt gut für mich zu arbeiten. –

+0

Zeigt jetzt nichts mehr in document.write (e9). Ich habe vergessen zu erwähnen, dass ich bereits alle meine Variablen früher deklariert habe. wird Hauptpost bearbeiten. – andirew1990

1

Sie sollten nur so weit wie e6.length-1, suchen aber die beste Lösung ist, die aus durch einen Fehler zu vermeiden.

var e3 = prompt("Please enter few numbers (maximum of 6) separated by commas", "1,2,3,4,5"); 
var e6 = e3.split(','); 

var e9 = 0; 
e3.split(',').map((x)=>{e9 += +x}) 
document.write(e9) 
+0

Dies ist für eine Klasse, ich denke nicht, dass es angebracht wäre, einige der Tools, die Sie vorgeschlagen haben, wie zum Beispiel map oder the => zu verwenden, da wir sie noch nicht besprochen haben. Danke für Ihre Mühe. – andirew1990

+0

ahh unfall danke! – Folashade

1

Der Fehler wird in der for-Schleife Deklaration: "a < = e6.length" sollte "a < e6.length" sein ("kleiner gleich oder gleich" sollte auf "weniger als" geändert werden)