1var assocIndexOf = require('./_assocIndexOf'); 2 3/** Used for built-in method references. */ 4var arrayProto = Array.prototype; 5 6/** Built-in value references. */ 7var splice = arrayProto.splice; 8 9/** 10 * Removes `key` and its value from the list cache. 11 * 12 * @private 13 * @name delete 14 * @memberOf ListCache 15 * @param {string} key The key of the value to remove. 16 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 17 */ 18function listCacheDelete(key) { 19 var data = this.__data__, 20 index = assocIndexOf(data, key); 21 22 if (index < 0) { 23 return false; 24 } 25 var lastIndex = data.length - 1; 26 if (index == lastIndex) { 27 data.pop(); 28 } else { 29 splice.call(data, index, 1); 30 } 31 --this.size; 32 return true; 33} 34 35module.exports = listCacheDelete; 36