散列算法 sbdm – JavaScript 实用代码片段

这个算法是一个简单的散列算法,它把输入的字符串 str 散列成一个整数。

使用 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
  );
};
console.log(sdbm('name')); // -3521204949
console.log(sdbm('age')); // 808122783

更多代码 JavaScript 实用代码片段 请查看 https://www.html.cn/30-seconds-of-code/

赞(0) 打赏
未经允许不得转载:WEB前端开发 » 散列算法 sbdm – JavaScript 实用代码片段

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏