Ich bin auf der Suche nach einem assoziativen Array in JS, aber verwenden Sie Konstanten als Teil der Klasse definiert als Indizes.Verwendung von Konstanten als Indizes für Javascript Assoziative Arrays
Der Grund dafür ist, dass Benutzer der Klasse die Konstanten (die Ereignisse definieren) zum Auslösen von Aktionen verwenden können.
Einige Code zu veranschaulichen:
STATE_NORMAL = 0;
STATE_NEW_TASK_ADDED = 0;
this.curr_state = STATE_NEW_TASK_ADDED;
this.state_machine = {
/* Prototype:
STATE_NAME: {
EVENT_NAME: {
"next_state": new_state_name,
"action": func
}
}
*/
STATE_NEW_TASK_ADDED : { // I'd like this to be a constant
this.EVENT_NEW_TASK_ADDED_AJAX : {
"next_state": STATE_NEW_TASK_ADDED,
"action" : function() {console.log("new task added");},
}
}
}
// Public data members.
// These define the various events that can happen.
this.EVENT_NEW_TASK_ADDED_AJAX = 0;
this.EVENT_NEW_TASK_ADDED_AJAX = 1;
Ich habe Probleme diese immer zu arbeiten. Ich bin nicht zu großartig mit JS, aber es sieht aus wie egal, was ich mache, wird das Array mit Strings und nicht Konstanten definiert. Gibt es eine Möglichkeit, das Array zu zwingen, die Konstanten zu verwenden?
Danke!
Dank! Du hast mir viel Zeit gespart. – Mihir
Ah, ES6 ist so toll –