function(key) {
    // don't use ES6 "delete" because it will be annoying
    // to use in browsers that are not ES6 friendly;
    var keys = this.keys,
        values = this.values,
        guid = guidFor(key);

    if (values.hasOwnProperty(guid)) {
      keys.remove(key);
      delete values[guid];
      set(this, 'length', keys.list.length);
      return true;
    } else {
      return false;
    }
  }
function(key) {
    // don't use ES6 "delete" because it will be annoying
    // to use in browsers that are not ES6 friendly;
    var keys = this.keys,
        values = this.values,
        guid = guidFor(key);

    if (values.hasOwnProperty(guid)) {
      keys.remove(key);
      delete values[guid];
      set(this, 'length', keys.list.length);
      return true;
    } else {
      return false;
    }
  }
function ( key ) { // don't use ES6 "delete" because it will be annoying // to use in browsers that are not ES6 friendly; var keys = this . keys , values = this . values , guid = guidFor ( key ) ; if ( values . hasOwnProperty ( guid ) ) { keys . remove ( key ) ; delete values [ guid ] ; set ( this , 'length' , keys . list . length ) ; return true ; } else { return false ; } }
Removes a value from the map for an associated key.

@method remove
@param {*} key
@return {Boolean} true if an item was removed, false otherwise
Removes a value from the map for an associated key .