2020-05-15
描述
将输入的字符串哈希为一个完整的整数。
提示
- 使用
String.prototype.split('')
和Array.prototype.reduce()
通过位移为输入的字符串创建一个哈希值
代码
const sdbm = str => {
let arr = str.split('');
return arr.reduce(
(hashCode, currentVal) =>
(hashCode = currentVal.charCodeAt(0) + (hashCode << 6) + (hashCode << 16) - hashCode),
0
);
};
示例
获取 name
哈希后的整数:
sdbm('name'); // -3521204949