Introdução
Neste laboratório, exploraremos como transformar uma string em um número inteiro usando o algoritmo SDBM. Usaremos String.prototype.split() e Array.prototype.reduce() para criar um hash da string de entrada, utilizando deslocamento de bits (bit shifting). O objetivo deste laboratório é apresentar o conceito de hashing e como ele pode ser usado para gerar identificadores únicos para dados.
Como Transformar uma String em um Número Usando JavaScript
Para transformar uma string de entrada em um número inteiro usando JavaScript, siga estes passos:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use os métodos
String.prototype.split()eArray.prototype.reduce()para criar um hash da string de entrada, utilizando deslocamento de bits (bit shifting). - Aqui está o código para a função
sdbmque implementa o algoritmo de hashing:
const sdbm = (str) => {
let arr = str.split("");
return arr.reduce(
(hashCode, currentVal) =>
(hashCode =
currentVal.charCodeAt(0) +
(hashCode << 6) +
(hashCode << 16) -
hashCode),
0
);
};
- Para testar a função, chame-a com um argumento string:
sdbm("name"); // -3521204949
Isso retornará o valor do hash para a string de entrada "name".
Resumo
Parabéns! Você concluiu o laboratório Hash String Into Number. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.