문자열을 숫자로 해싱하기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 SDBM 알고리즘을 사용하여 문자열을 정수로 해싱하는 방법을 살펴봅니다. String.prototype.split() 과 Array.prototype.reduce() 를 사용하여 비트 시프팅을 활용하여 입력 문자열의 해시를 생성합니다. 이 랩의 목적은 해싱의 개념과 이를 사용하여 데이터에 대한 고유 식별자를 생성하는 방법을 소개하는 것입니다.

JavaScript 를 사용하여 문자열을 숫자로 해싱하는 방법

JavaScript 를 사용하여 입력 문자열을 정수로 해싱하려면 다음 단계를 따르세요.

  1. 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  2. String.prototype.split()Array.prototype.reduce() 메서드를 사용하여 비트 시프팅을 활용하여 입력 문자열의 해시를 생성합니다.
  3. 다음은 해싱 알고리즘을 구현하는 sdbm 함수의 코드입니다.
const sdbm = (str) => {
  let arr = str.split("");
  return arr.reduce(
    (hashCode, currentVal) =>
      (hashCode =
        currentVal.charCodeAt(0) +
        (hashCode << 6) +
        (hashCode << 16) -
        hashCode),
    0
  );
};
  1. 함수를 테스트하려면 문자열 인수를 사용하여 호출합니다.
sdbm("name"); // -3521204949

이렇게 하면 입력 문자열 "name"에 대한 해시 값이 반환됩니다.

요약

축하합니다! 문자열을 숫자로 해싱하는 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.