13 lines
263 B
JavaScript
13 lines
263 B
JavaScript
|
export const hashString = str => {
|
||
|
if (!str) {
|
||
|
return 0
|
||
|
}
|
||
|
let hash = 0
|
||
|
for (let i = 0; i < str.length; i++) {
|
||
|
let char = str.charCodeAt(i)
|
||
|
hash = (hash << 5) - hash + char
|
||
|
hash = hash & hash // Convert to 32bit integer
|
||
|
}
|
||
|
return hash
|
||
|
}
|