Introducción
En este laboratorio, exploraremos cómo hashear una cadena en un número entero utilizando el algoritmo SDBM. Utilizaremos String.prototype.split() y Array.prototype.reduce() para crear un hash de la cadena de entrada, utilizando desplazamiento de bits. El propósito de este laboratorio es introducirte al concepto de hash y cómo se puede utilizar para generar identificadores únicos para los datos.
Cómo hashear una cadena en un número utilizando JavaScript
Para hashear una cadena de entrada en un número entero utilizando JavaScript, sigue estos pasos:
- Abre la Terminal/SSH y escribe
nodepara comenzar a practicar la codificación. - Utiliza los métodos
String.prototype.split()yArray.prototype.reduce()para crear un hash de la cadena de entrada, utilizando desplazamiento de bits. - Aquí está el código de la función
sdbmque implementa el algoritmo de hash:
const sdbm = (str) => {
let arr = str.split("");
return arr.reduce(
(hashCode, currentVal) =>
(hashCode =
currentVal.charCodeAt(0) +
(hashCode << 6) +
(hashCode << 16) -
hashCode),
0
);
};
- Para probar la función, llámala con un argumento de cadena:
sdbm("name"); // -3521204949
Esto devolverá el valor hash para la cadena de entrada "name".
Resumen
¡Felicidades! Has completado el laboratorio de Hash String Into Number. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.