Введение
В этом лабораторном задании мы изучим, как хешировать строку в целое число с использованием алгоритма SDBM. Мы будем использовать String.prototype.split() и Array.prototype.reduce() для создания хеша входной строки, используя битовые сдвиги. Цель этого лабораторного задания - познакомить вас с концепцией хеширования и с тем, как его можно использовать для генерации уникальных идентификаторов для данных.
Как хешировать строку в число с использованием JavaScript
Для хеширования входной строки в целое число с использованием JavaScript выполните следующие шаги:
- Откройте Терминал/SSH и введите
node, чтобы начать практиковать программирование. - Используйте методы
String.prototype.split()иArray.prototype.reduce()для создания хеша входной строки, используя битовые сдвиги. - Вот код функции
sdbm, которая реализует алгоритм хеширования:
const sdbm = (str) => {
let arr = str.split("");
return arr.reduce(
(hashCode, currentVal) =>
(hashCode =
currentVal.charCodeAt(0) +
(hashCode << 6) +
(hashCode << 16) -
hashCode),
0
);
};
- Чтобы протестировать функцию, вызовите ее с аргументом-строкой:
sdbm("name"); // -3521204949
Это вернет хеш-значение для входной строки "name".
Резюме
Поздравляем! Вы завершили лабораторную работу "Хеширование строки в число". Вы можете практиковать в более лабораторных работах в LabEx, чтобы улучшить свои навыки.