Skip to main content
Module

x/lodash/_basePullAt.js

A modern JavaScript utility library delivering modularity, performance, & extras.
Extremely Popular
Go to Latest
File
import castPath from './_castPath.js';import isIndex from './_isIndex.js';import last from './last.js';import parent from './_parent.js';import toKey from './_toKey.js';
/** 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 { var path = castPath(index, array), object = parent(array, path);
if (object != null) { delete object[toKey(last(path))]; } } } } return array;}
export default basePullAt;