Хеш-таблица - одна из самых важных структур данных в вычислениях. Хеш-таблица (хеш-карта) - это структура данных, используемая для реализации ассоциативного массива, структуры, которая может сопоставлять ключи со значениями. Хеш-таблица использует хеш-функцию для вычисления индекса в массиве сегментов или ячеек, из которого можно найти нужное значение. В JavaScript у нас нет встроенной хеш-таблицы.

Хотя многие языки программирования поддерживают ассоциативные массивы (хеш-таблицы или массивы с именованными индексами, JavaScript нет. В массивах JavaScript используются нумерованные индексы.

Разве JavaScript уже не делает этого?

Если вы используете именованный индекс, JavaScript переопределит массив в стандартный объект.

Хеш-таблица похожа на ведро - = В данном случае представлена ​​как пустой массив = -
var allBuckets = [[], [], [], []]

Чтобы вставить значение в наши корзины,

// вставляем ключ «x» со значением 10

1. Используйте функцию has для получения индекса сегмента
3. Поместите пару ключ-значение в сегмент (как насчет существующих ключей?)
3. Если # пар ключ-значение ›12 -Получите больше сегментов! (Обычно удваивают количество сегментов) -Изменить перераспределение пар ключ-значение из старых сегментов в новые.
// hasFn (key)% allBuckets.length // = ›0, 1, 2 или 3
var bucketIndex = hashFn ('x')% allBuckets.length // = ›1
allbuckets [bucketIndex] .push (['x', 10])

var bucketIndex = hashFn (‘g’)% allBuckets.length // = ›1
allbuckets [bucketIndex] .push ([‘ g ’, 10])

Чтение ключа "x"

1. Используйте хеш-функцию для получения индекса сегмента
2. Итерируйте, ища ключ «x»
3. Если он найден, верните

Функция хеш-таблицы