1var baseUnset = require('./_baseUnset'), 2 isIndex = require('./_isIndex'); 3 4/** Used for built-in method references. */ 5var arrayProto = Array.prototype; 6 7/** Built-in value references. */ 8var splice = arrayProto.splice; 9 10/** 11 * The base implementation of `_.pullAt` without support for individual 12 * indexes or capturing the removed elements. 13 * 14 * @private 15 * @param {Array} array The array to modify. 16 * @param {number[]} indexes The indexes of elements to remove. 17 * @returns {Array} Returns `array`. 18 */ 19function basePullAt(array, indexes) { 20 var length = array ? indexes.length : 0, 21 lastIndex = length - 1; 22 23 while (length--) { 24 var index = indexes[length]; 25 if (length == lastIndex || index !== previous) { 26 var previous = index; 27 if (isIndex(index)) { 28 splice.call(array, index, 1); 29 } else { 30 baseUnset(array, index); 31 } 32 } 33 } 34 return array; 35} 36 37module.exports = basePullAt; 38