13 lines
280 B
TypeScript
13 lines
280 B
TypeScript
export function simpleHash(s: string): number {
|
|
let hash = 0,
|
|
i,
|
|
chr;
|
|
if (s.length === 0) return hash;
|
|
for (i = 0; i < s.length; i++) {
|
|
chr = s.charCodeAt(i);
|
|
hash = ((hash << 5) - hash) + chr;
|
|
hash |= 0; // Convert to 32bit integer
|
|
}
|
|
return hash;
|
|
}
|