648 B
648 B
title, tags, expertise, cover, firstSeen, lastUpdated
| title | tags | expertise | cover | firstSeen | lastUpdated |
|---|---|---|---|---|---|
| Hash string into number | math | intermediate | blog_images/dark-leaves.jpg | 2017-12-27T17:12:34+02:00 | 2020-10-22T20:24:30+03:00 |
Hashes the input string into a whole number.
- Use
String.prototype.split()andArray.prototype.reduce()to create a hash of the input string, utilizing bit shifting.
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