| 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;
 |