| var assocIndexOf = require('./_assocIndexOf'); |
| |
| /** Used for built-in method references. */ |
| var arrayProto = Array.prototype; |
| |
| /** Built-in value references. */ |
| var splice = arrayProto.splice; |
| |
| /** |
| * Removes `key` and its value from the list cache. |
| * |
| * @private |
| * @name delete |
| * @memberOf ListCache |
| * @param {string} key The key of the value to remove. |
| * @returns {boolean} Returns `true` if the entry was removed, else `false`. |
| */ |
| function listCacheDelete(key) { |
| var data = this.__data__, |
| index = assocIndexOf(data, key); |
| |
| if (index < 0) { |
| return false; |
| } |
| var lastIndex = data.length - 1; |
| if (index == lastIndex) { |
| data.pop(); |
| } else { |
| splice.call(data, index, 1); |
| } |
| --this.size; |
| return true; |
| } |
| |
| module.exports = listCacheDelete; |