哈希表 javascript
时间: 2023-12-16 14:02:22 浏览: 119
在JavaScript中,哈希表可以通过对象(Object)来实现。对象的属性名就是哈希表中的键,属性值就是哈希表中的值。以下是一个简单的哈希表的实现:
1. 定义一个HashTable类,包含以下方法:
```javascript
class HashTable {
constructor() {
this.table = {};
}
// 向哈希表中添加键值对
put(key, value) {
this.table[key] = value;
}
// 从哈希表中获取指定键的值
get(key) {
return this.table[key];
}
// 从哈希表中移除指定键的值
remove(key) {
delete this.table[key];
}
// 判断哈希表中是否包含指定键
contains(key) {
return this.table.hasOwnProperty(key);
}
// 获取哈希表中所有的键
getKeys() {
return Object.keys(this.table);
}
// 获取哈希表中所有的值
getValues() {
return Object.values(this.table);
}
// 获取哈希表中键值对的数量
size() {
return Object.keys(this.table).length;
}
// 清空哈希表
clear() {
this.table = {};
}
}
```
2. 创建一个HashTable对象,并向其中添加键值对:
```javascript
const hashTable = new HashTable();
hashTable.put('name', 'Tom');
hashTable.put('age', 18);
hashTable.put('gender', 'male');
```
3. 从哈希表中获取指定键的值:
```javascript
const name = hashTable.get('name'); // 'Tom'
```
4. 从哈希表中移除指定键的值:
```javascript
hashTable.remove('gender');
```
5. 判断哈希表中是否包含指定键:
```javascript
const hasAge = hashTable.contains('age'); // true
const hasGender = hashTable.contains('gender'); // false
```
6. 获取哈希表中所有的键:
```javascript
const keys = hashTable.getKeys(); // ['name', 'age']
```
7. 获取哈希表中所有的值:
```javascript
const values = hashTable.getValues(); // ['Tom', 18]
```
8. 获取哈希表中键值对的数量:
```javascript
const size = hashTable.size(); // 2
```
9. 清空哈希表:
```javascript
hashTable.clear();
```
阅读全文