3 Stimmen

Wie man den Variablennamen innerhalb einer Schleife zunehmend ändert

Ich versuche, eine for-Schleife zu machen, die je nach der Variablen objNumber arbeitet. Dabei werden so viele Objekte erstellt und mit verschiedenen Variablen benannt, wie folgt:

for (var i = 1; i <= objNumber; i++){
    var myElement = new Element('div', {id: 'slot'+i, class: 'slot'});
    var myObject+i = new myClass
}

Ich möchte dies tun, damit ich die Namen aller Objekte verfolgen und leicht darauf zugreifen kann.

Jedes myObject wird ein weiteres "untergeordnetes" Objekt erstellen. Wenn ich alle Objekte auf diese Weise mit derselben Nummer halte, kann ich alle Objekte verfolgen.

Ist dies der beste Weg, es zu tun? Oder ist es nicht möglich?

4voto

Sascha Goebel Punkte 323

Verwenden Sie einfach ein Array:

var myObjects = [];
for (var i = 1; i <= objNumber; i++){

        var myElement = new Element('div', {id: 'slot'+i, class: 'slot'});
        var myObjects[i] = new myClass
 }

0voto

Chris Eberle Punkte 46685

Sie könnten die Auswertungsanweisung verwenden, um dies zu tun, aber ein besserer Ansatz ist die Verwendung eines assoziativen Arrays, bei dem der Schlüssel der Variablenname ist. Auf diese Weise können Sie einfach über die erstellten Objekte iterieren und es entsteht lesbarerer Code.

0voto

Colin Punkte 1951

Der beste Weg wäre, ein Array zu verwenden:

var myArray = new Array();
for (var i = 0; i < objNumber; i++){

        var myElement = new Element('div', {id: 'slot'+i, class: 'slot'});
        myArray.push(new myClass());

 }

Alternativ könnten Sie Folgendes verwenden:

 var myCollectionObj = {};
 for (var i = 1; i <= objNumber; i++){

        var myElement = new Element('div', {id: 'slot'+i, class: 'slot'});
        myCollectionObj["myObject"+i] = new myClass();

 }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X