sbdm - 散列算法

优质
小牛编辑
128浏览
2023-12-01

将输入的字符串散列成一个整数。

使用 String.split('')Array.reduce() 创建输入字符串的散列,利用位移。

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