Update hash_map docs

This commit is contained in:
danielsss 2022-12-26 17:15:20 +11:00
parent 305915270a
commit 528b716766
No known key found for this signature in database
GPG key ID: 2A5967D8F31A22D2

View file

@ -512,7 +512,6 @@ $$
```typescript title="array_hash_map.ts"
/* 键值对 Number -> String */
class Entry {
public key: number;
public val: string;
@ -525,7 +524,7 @@ $$
/* 基于数组简易实现的哈希表 */
class ArrayHashMap {
private readonly bucket: Entry | null[];
private readonly bucket: (Entry | null)[];
constructor() {
// 初始化一个长度为 100 的桶(数组)
@ -559,8 +558,8 @@ $$
}
/* 获取所有键值对 */
public entries(): Entry[] {
let arr = [];
public entries(): (Entry | null)[] {
let arr: (Entry | null)[] = [];
for (let i = 0; i < this.bucket.length; i++) {
if (this.bucket[i]) {
arr.push(this.bucket[i]);
@ -570,22 +569,22 @@ $$
}
/* 获取所有键 */
public keys(): number[] {
let arr = [];
public keys(): (number | undefined)[] {
let arr: (number | undefined)[] = [];
for (let i = 0; i < this.bucket.length; i++) {
if (this.bucket[i]) {
arr.push(this.bucket[i].key);
arr.push(this.bucket[i]?.key);
}
}
return arr;
}
/* 获取所有值 */
public values(): string[] {
let arr = [];
public values(): (string | undefined)[] {
let arr: (string | undefined)[] = [];
for (let i = 0; i < this.bucket.length; i++) {
if (this.bucket[i]) {
arr.push(this.bucket[i].val);
arr.push(this.bucket[i]?.val);
}
}
return arr;