Wie kann ich Durchlaufen enum-Werte in Google-Verschluss?
Ich versuche den besten Weg finden, um die Iteration über alle Werte in einer enum-Definition in Google-Verschluss. Sagen wir, ich habe folgende enum definiert:
/**
* @enum {number}
*/
sample.namespace.Fruit = {
Orange: 0,
Apple: 1,
Banana: 2
};
Gerade jetzt, die beste Möglichkeit, die ich gesehen habe, dies zu tun wäre so etwas wie dieses:
for (var key in sample.namespace.Fruit) {
var fruit = /** @type {sample.namespace.Fruit} */ (sample.namespace.Fruit[key]);
//Make a smoothie or something.
}
Ich denke, dass schmerzhaft zu Lesen. Ich bin Inserat eine namespace-dreimal, nur um den compiler zu kommen, die entlang für die Fahrt. Gibt es eine andere iteration Technik, die ich verwenden soll, statt? Ist dies der beste Weg, um erreichen diese form der iteration?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
goog.object.forEach
zu vermeiden namespace Wiederholung.Als eine Randnotiz, in den meisten Fällen werden Sie wollen, um zu vermeiden, mit string-Schlüsseln für @enums, so kann der compiler benennen Sie diese.
Können Sie eine for-Schleife Durchlaufen Ihre Objekte..
Überprüfen Fiddle