|  | var baseUnset = require('./_baseUnset'), | 
|  | isIndex = require('./_isIndex'); | 
|  |  | 
|  | /** Used for built-in method references. */ | 
|  | var arrayProto = Array.prototype; | 
|  |  | 
|  | /** Built-in value references. */ | 
|  | var splice = arrayProto.splice; | 
|  |  | 
|  | /** | 
|  | * The base implementation of `_.pullAt` without support for individual | 
|  | * indexes or capturing the removed elements. | 
|  | * | 
|  | * @private | 
|  | * @param {Array} array The array to modify. | 
|  | * @param {number[]} indexes The indexes of elements to remove. | 
|  | * @returns {Array} Returns `array`. | 
|  | */ | 
|  | function basePullAt(array, indexes) { | 
|  | var length = array ? indexes.length : 0, | 
|  | lastIndex = length - 1; | 
|  |  | 
|  | while (length--) { | 
|  | var index = indexes[length]; | 
|  | if (length == lastIndex || index !== previous) { | 
|  | var previous = index; | 
|  | if (isIndex(index)) { | 
|  | splice.call(array, index, 1); | 
|  | } else { | 
|  | baseUnset(array, index); | 
|  | } | 
|  | } | 
|  | } | 
|  | return array; | 
|  | } | 
|  |  | 
|  | module.exports = basePullAt; |