var x : IHash = {};
x['key1'] = 'value1';
x['key2'] = 'value2';
console.log(x['key1']);
console.log(x['key2']);
Wenn Sie dann Ihr Wörterbuch durchlaufen möchten, können Sie verwenden.
Object.keys(x).forEach((key) => {console.log(x[key])});
Object.keys gibt alle Eigenschaften eines Objekts zurück, sodass alle Werte von Objekten im Wörterbuchstil zurückgegeben werden können.
Sie haben in Ihrer Frage auch eine Hashmap erwähnt. Die obige Definition gilt für eine Benutzeroberfläche im Wörterbuchstil. Daher sind die Schlüssel eindeutig, die Werte jedoch nicht.
Sie können es wie ein Hashset verwenden, indem Sie dem Schlüssel und seinem Wert denselben Wert zuweisen.
Wenn Sie möchten, dass die Schlüssel eindeutig sind und möglicherweise unterschiedliche Werte aufweisen, müssen Sie nur überprüfen, ob der Schlüssel auf dem Objekt vorhanden ist, bevor Sie ihn hinzufügen.
var valueToAdd = 'one';
if(!x[valueToAdd])
x[valueToAdd] = valueToAdd;
oder Sie könnten Ihre eigene Klasse aufbauen, um als eine Art Hashset zu fungieren.
Class HashSet{
private var keys: IHash = {};
private var values: string[] = [];
public Add(key: string){
if(!keys[key]){
values.push(key);
keys[key] = key;
}
}
public GetValues(){
return values.slice();
}
}