bbo
Version:
bbo is a utility library of zero dependencies for javascript.
32 lines (25 loc) • 619 B
JavaScript
;
require('./get_tag.js');
require('./is_array.js');
require('./is_string.js');
require('./is_map.js');
require('./is_set.js');
var size = require('./size.js');
/**
* string hash map
* From https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery
*/
function hash(str) {
var _str = String(str);
var hash = 0;
var i;
var chr;
if (size(_str) === 0) return hash;
for (i = 0; i < _str.length; i++) {
chr = _str.charCodeAt(i);
hash = (hash << 5) - hash + chr;
hash |= 0; // Convert to 32bit integer
}
return hash;
}
module.exports = hash;