2017-03-08 1 views
0

Wie kann ich ein Variablensuffix erhöhen, während ich console.log verwende?JavaScript - Alle Variablen/Inkrementvariablen-Suffix zur Konsole drucken

Zum Beispiel - Drucken delta0-2

var delta0 = "omega" 
var delta1 = "orion" 
var delta2 = "kiwi" 

Ich habe versucht, eine for-Schleife zu verwenden, um eine Zahl an das Ende von „Delta“ hinzufügen, aber das scheint nicht zu arbeiten? Zum Beispiel wäre dies für eine lange Liste von Gegenständen. Ich möchte nur "alle Variablen drucken".

+0

Warum Sie nicht ein Objekt mit Klammer-Notation? –

+0

Warum verwenden Sie 'Array' nicht für Delta? – Rajesh

+1

@GerardoFurtado: Vielleicht hat der Op eine Legacy-Codebase geerbt und versucht, den vorhandenen Irrgarten an Variablen zu verstehen. ;) – Abhitalks

Antwort

2

können Sie eval

Gefällt Ihnen dieses

for (var i = 0; i < 3; i++) 
    console.log(eval("delta" + i)) 

aber eval ist evil

Aber Sie können Objekt erstellen und darauf zugreifen wie diese

var obj = { 
    delta0: "omega", 
    delta1: "orion", 
    delta2: "kiwi" 
}; 
for (var i = 0; i < Object.keys(obj).length; i++) 
    console.log(obj["delta" + i]) 
+1

Es ist besser, ein Objekt zu verwenden und dann 'obj [" delta "+ i]' – Rajesh

+0

@Rajesh Danke für den Vorschlag. –

+0

Es ist alles gut, aber es wäre nützlich, wenn Sie erklären könnten, warum der Op überhaupt ein Problem hat. Warum funktioniert das Verketten von Zahlen nicht? Warum schlagen Sie Eval vor? Was macht Eval? Bessere Alternativen können als nächstes kommen. – Abhitalks

2

Sie sollten eine Reihe von String verwenden: var delta = ["omega", "orion", "kiwi"];

Dann können Sie jedes Element wie folgt wählen:

var delta = ["omega", "orion", "kiwi"]; 
 

 
console.log("--select an element--"); 
 
console.log(delta[0]); // print omega 
 
console.log(delta[1]); // print orion 
 
console.log(delta[2]); // print kiwi 
 

 
console.log("--Iterate all elements--"); 
 
delta.forEach(d => { 
 
    console.log(d); // print omega, orion, and then kiwi 
 
});

+1

Bitte beachten Sie das Symbol <<> im Editor. Sie können ein Snippet erstellen, indem Sie es verwenden – Rajesh

+0

@Rajesh getan! ;) Vielen Dank! – samAlvin

+0

Es ist besser, zuerst das Problem zu lösen und darauf hinzuweisen, was der Op falsch macht und warum er sich diesem Problem gegenübersieht. Nachdem Sie das getan haben, fügen Sie der Antwort bessere Alternativen hinzu. Sie haben gerade auf eine Alternative hingewiesen, aber nicht versucht, die Frage zu beantworten, die Op gestellt hat. – Abhitalks