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]);
}
ich Ihren Code nur reproduziert und es gibt mir nur 10 und 20, wie Sie wollen. –
Ihre Ausgabe schlägt vor, dass Sie tatsächlich 'var myStringArray =" [10,20] ";. – Yoshi
Wenn diese for-Schleife Ihnen jedes Zeichen einzeln gibt, haben Sie eigentlich kein Array von Zahlen. Hast du stattdessen ein JSON-Array? – ssube