var x : IHash = {};
x['key1'] = 'value1';
x['key2'] = 'value2';
console.log(x['key1']);
console.log(x['key2']);
Nếu bạn muốn lặp lại từ điển của mình, bạn có thể sử dụng.
Object.keys(x).forEach((key) => {console.log(x[key])});
Object.keys trả về tất cả các thuộc tính của một đối tượng, vì vậy nó hoạt động tốt khi trả về tất cả các giá trị từ các đối tượng được tạo kiểu từ điển.
Bạn cũng đã đề cập đến một bản đồ băm trong câu hỏi của mình, định nghĩa trên là dành cho giao diện kiểu từ điển. Do đó, các khóa sẽ là duy nhất, nhưng các giá trị sẽ không.
Bạn có thể sử dụng nó như một bộ băm bằng cách chỉ định cùng một giá trị cho khóa và giá trị của nó.
nếu bạn muốn các khóa là duy nhất và có các giá trị khác nhau, thì bạn chỉ cần kiểm tra xem khóa có tồn tại trên đối tượng hay không trước khi thêm vào nó.
var valueToAdd = 'one';
if(!x[valueToAdd])
x[valueToAdd] = valueToAdd;
hoặc bạn có thể xây dựng lớp của riêng mình để hoạt động như một tập hợp các loại băm.
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();
}
}