소개
이 랩에서는 SDBM 알고리즘을 사용하여 문자열을 정수로 해싱하는 방법을 살펴봅니다. String.prototype.split() 과 Array.prototype.reduce() 를 사용하여 비트 시프팅을 활용하여 입력 문자열의 해시를 생성합니다. 이 랩의 목적은 해싱의 개념과 이를 사용하여 데이터에 대한 고유 식별자를 생성하는 방법을 소개하는 것입니다.
이 랩에서는 SDBM 알고리즘을 사용하여 문자열을 정수로 해싱하는 방법을 살펴봅니다. String.prototype.split() 과 Array.prototype.reduce() 를 사용하여 비트 시프팅을 활용하여 입력 문자열의 해시를 생성합니다. 이 랩의 목적은 해싱의 개념과 이를 사용하여 데이터에 대한 고유 식별자를 생성하는 방법을 소개하는 것입니다.
JavaScript 를 사용하여 입력 문자열을 정수로 해싱하려면 다음 단계를 따르세요.
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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.