2016-05-18 11 views
-2

ich eine dynamische Liste, Beispieldaten alswie Liste von Zahlen in Javascript iterieren

var myStringArray = [10, 20]; 
 

 

 
var arrayLength = myStringArray.length; 
 
for (var i = 0; i < arrayLength; i++) { 
 
    alert(myStringArray[i]); 
 

 
}

holen, wenn ich Schleife verwenden, es gibt mir Daten wie

[ 
1 
0 
, 
2 
0 
] 

Ich brauche Daten wie

10 
20 
+0

ich Ihren Code nur reproduziert und es gibt mir nur 10 und 20, wie Sie wollen. –

+9

Ihre Ausgabe schlägt vor, dass Sie tatsächlich 'var myStringArray =" [10,20] ";. – Yoshi

+1

Wenn diese for-Schleife Ihnen jedes Zeichen einzeln gibt, haben Sie eigentlich kein Array von Zahlen. Hast du stattdessen ein JSON-Array? – ssube

Antwort

1

Wenn ich kopieren und Ihren gleichen Code ausführen, wird es geben Ausgabe wie Sie wollen. Die Art und Weise, wie Sie es von überall her bekommen, gibt Ihnen diese Daten in einer Zeichenfolge, d. H. "[10, 20]". Also ist es jetzt kein Array, sondern eine Zeichenfolge mit 10 Zeichen ([, 1, 0, usw.). Deshalb erhalten Sie diese Zeichen, wenn Sie dies in einer Schleife ausgeben.

var myStringArray = [10, 20]; 


var arrayLength = myStringArray.length; 
for (var i = 0; i < arrayLength; i++) { 
    alert(myStringArray[i]); 

} 

In Fall werden Sie diesen Wert von einer Ressource bekommen z.B. Ajax-Anforderung, können Sie es in ein Array umwandeln JSON.parse verwenden, so dass Ihr Code wird:

var myString = "[10, 20]"; 
var myStringArray = JSON.parse(myString); 


    var arrayLength = myStringArray.length; 
    for (var i = 0; i < arrayLength; i++) { 
     alert(myStringArray[i]); 

    } 
0

Der folgende Code betrachtet die Array-Zeichen als String. Iteriere durch jeden Charakter. Wenn es sich um eine öffnende oder schließende Klammer handelt, fahren Sie mit der nächsten Iteration fort. Eine , repräsentiert eine abgeschlossene Nummer. Andernfalls verketten Sie die ganzzahligen Zeichen als String-Typen:

Ihr Code scheint jedoch zu funktionieren, wenn das Code-Snippet ausgeführt wird. Ich schätze, du kannst mein Beispiel als visuelle Hilfe benutzen, da ich die einzelnen Schritte ausgebrochen bin.

Auch als Felix Kling hat in meinen Kommentaren darauf hingewiesen, können Sie auch JSON.parse() verwenden:

JSON.parse(myStringArray, function(key,val) { 
     console.log(val); 
}); 

Hier ist eine Geige: https://jsfiddle.net/7h4z6nsm/1/

+2

Warum nicht einfach 'JSON.parse' verwenden? –

+0

@FelixKling Großartiger Punkt. Ich wollte es nur für das OP in dem Ansatz unterbrechen, den er nahm, indem er die Schleife fest codierte. Deine Methode wäre viel sauberer. –

Verwandte Themen