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 isKey from './_isKey.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 if (!isKey(index, array)) { var path = castPath(index), object = parent(array, path);
if (object != null) { delete object[toKey(last(path))]; } } else { delete array[toKey(index)]; } } } return array;}
export default basePullAt;