Skip to content

Instantly share code, notes, and snippets.

@ben1one
Created June 30, 2016 07:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ben1one/1d808fc45ba7f421df7be29d7b26e4b1 to your computer and use it in GitHub Desktop.
Save ben1one/1d808fc45ba7f421df7be29d7b26e4b1 to your computer and use it in GitHub Desktop.
String.prototype.hashCode = function() {
var hash = 0, i, chr, len;
if (this.length === 0) return hash;
for (i = 0, len = this.length; i < len; i++) {
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0; // Convert to 32bit integer
}
return hash;
};
@fionnachan
Copy link

fionnachan commented Jul 4, 2016

String.prototype.hashCode = function() {
  var hash = 0, i, chr, len;
  if (this.length === 0) return hash;
  for (i = 0, len = this.length; i < len; i++) {
    chr   = this.charCodeAt(i);
    hash  = chr + (hash << 1) + (hash >> 1) - hash;
  }
  return hash;
};

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment