2016-11-03 3 views
0

Ich habe eine for-Schleife:Javascript: Wie String-Werte von Schleife erzeugt hinzufügen

for(var data = 1; data <=10; data++){ 
    var data = $array[data]; 
    var allData = allData + ", " + data; 
}; 

für zB:

var data = $array[1] value is "apple" 
var data = $array[2] value is "carrot" 

wenn ich Schleife:

var allData = allData + ", " + data; 

Ich möchte:

var allData = apple, banana 

Die obigen Hinzufügen von string:

var AllData = AllData + "" + Daten;

funktioniert nicht.

Wie kann ich es beheben?

+0

do neu deklariert nicht Ihre Variable .... – epascarello

+0

In Ihrem for-Schleife, die Sie neu zu definieren/Überschreiben 'data', die die nächste Iteration der Schleife führt zum Scheitern verurteilt. – TheJim01

Antwort

2

Ich denke, das ist das, was Sie suchen:

var allData = $array.join(', '); 

Dies wird das Array in einen String, mit einem Komma zwischen jedem Wert drehen.

oder

Dies ist, wie Sie Ihre Logik die aktuelle Art und Weise beheben können Sie es tun: Sie wollen die ALLDATA var über der Schleife erklären, sonst jeder Iteration wird die var neu deklarieren, die vorherige Überschreiben . Dann können Sie den Operator + = zum aktuellen Wert hinzufügen. Außerdem habe ich die Schleifensyntax ein wenig korrigiert.

var allData = ''; 
for (var i = 0; i < $array.length; i++) { 
    var data = $array[i]; 
    if(i == 0) allData += data; 
    else allData += ", " + data; 
}; 

https://jsfiddle.net/L7ch8u9b/

+0

Jetzt bekomme ich:, Apfel, Banane. Warum gibt es "," am Anfang – asax

+0

Sie können eine Logik hinzufügen, um zu verhindern, dass das Komma bei der ersten Iteration hinzugefügt wird. Wenn Sie nun der Logik folgen, können Sie sehen, dass bei jeder Iteration "," + Wert hinzugefügt wird. Es macht also Sinn, dass vorne ein Komma steht. – Kolby

+0

Ich habe eine einfache if-Anweisung hinzugefügt, um zu prüfen, ob es die erste Iteration ist. Wenn es ist, fügen wir nicht das Komma – Kolby

Verwandte Themen