Mutates the original array to filter out the values at the specified indexes. Returns the removed elements.
Array.prototype.filter()
and Array.prototype.includes()
to pull out the values that are not needed.Array.prototype.length
to mutate the passed in an array by resetting its length to 0
.Array.prototype.push()
to re-populate it with only the pulled values.Array.prototype.push()
to keep track of pulled values.const pullAtIndex = (arr, pullArr) => {
let removed = [];
let pulled = arr
.map((v, i) => (pullArr.includes(i) ? removed.push(v) : v))
.filter((v, i) => !pullArr.includes(i));
arr.length = 0;
pulled.forEach(v => arr.push(v));
return removed;
};
let myArray = ['a', 'b', 'c', 'd'];
let pulled = pullAtIndex(myArray, [1, 3]);
// myArray = [ 'a', 'c' ] , pulled = [ 'b', 'd' ]
JavaScript, Array
Mutates the original array to filter out the values specified. Returns the removed elements.
JavaScript, Array
Mutates the original array to filter out the values specified, based on a given iterator function.
JavaScript, Array
Mutates the original array to filter out the values specified.