Nodejs String Hash getHashCode()

Here you can find the source of getHashCode()

Method Source Code

String.prototype.getHashCode = 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);//w  ww.  j a  v a  2 s.co  m
        hash  = ((hash << 5) - hash) + chr;
        hash |= 0; // Convert to 32bit integer
    }
    return hash;
};

Related

  1. GetHashCode()
    String.prototype.GetHashCode = function () {
      var h = 0;
      for (var i = 0; i < this.length; i++) {
        h = ((h << 5) - h + this.charCodeAt(i)) & ~0;
      return h;
    };
    
  2. getHashCode()
    String.prototype.getHashCode = function() {
        var hash = 0;
        if (this.length == 0) return hash;
        for (var i = 0; i < this.length; i++) {
            hash = this.charCodeAt(i) + ((hash << 5) - hash);
            hash = hash & hash; 
        return hash;
    };
    ...
    
  3. getHashCode()
    String.prototype.getHashCode = 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;
    ...
    
  4. getHashCode(caseSensitive)
    String.prototype.getHashCode = function (caseSensitive) {
        var str = this;
        if (!caseSensitive) {
            str = str.toLowerCase();
        var hash = 1315423911, i, ch;
        for (i = str.length - 1; i >= 0; i--) {
            ch = str.charCodeAt(i);
            hash ^= ((hash << 5) + ch + (hash >> 2));
    ...
    
  5. hash()
    String.prototype.hash = function() {
      var hash = 0;
      for (var i = 0; i < this.length; i++) {
        var c = this.charCodeAt(i);
        hash = (hash << 5) - hash + this.charCodeAt(i);
        hash = hash & hash;
      return hash;
    };
    ...
    
  6. hash()
    String.prototype.hash = function () {
      var hash = 5381;
      for (var i = 0; i < this.length; i++) {
        var char = this.charCodeAt(i);
        hash = ((hash << 5) + hash) + char;
      return hash;
    };