
哈希表(Hash Table),也称为哈希映射(Hash Map),是一种将键(Key)映射到值(Value)的数据结构。它利用哈希函数将键映射到一个数组中的一个位置(或桶),从而可以快速地查找对应的值。
在 JavaScript 中,哈希表可以使用对象(Object)或者 Map 类来实现。下面是两种实现方式的简单介绍:
JavaScript 对象通常用作哈希表,因为它们可以将键与值关联起来。以下是一个简单的例子:
// 创建一个空对象let hashTable = {};
// 添加键值对
hashTable['name'] = 'Alice';
hashTable['age'] = 30;
hashTable['city'] = 'New York';
// 访问值console.log(hashTable['name']); // 输出: Aliceconsole.log(hashTable['age']); // 输出: 30// 删除键值对delete hashTable['city'];
console.log(hashTable['city']); // 输出: undefinedMapMap 对象是 JavaScript 内置的数据结构,提供了一种更为强大的方式来创建哈希表。与对象不同,Map 可以使用任何值(包括对象和函数)作为键。
// 创建一个新的 Maplet hashTable = newMap();
// 添加键值对
hashTable.set('name', 'Alice');
hashTable.set('age', 30);
hashTable.set('city', 'New York');
// 访问值console.log(hashTable.get('name')); // 输出: Aliceconsole.log(hashTable.get('age')); // 输出: 30// 删除键值对
hashTable.delete('city');
console.log(hashTable.get('city')); // 输出: undefined// 检查是否存在某个键console.log(hashTable.has('name')); // 输出: true// 获取 Map 的大小console.log(hashTable.size); // 输出: 2哈希表广泛使用,因为它们在查找、插入和删除操作上具有平均常数时间复杂度 O(1),因此这些操作非常高效。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。