Fix typo to fit the context Fix typo add space Fix small typo Fix small typo Fix typo Fix typo Fix typo Fix typo Fix typo Fix typo Fix typo Update tail.md Fix typo Fix small typo Fix typo Fix typo Fix typo Fix typo Fix small typo Fix typo Fix small typo Fix typo Fix typo Fix typo Fix typo Fix typo Fix typo Fix typo Fix typo Fix typo
25 lines
861 B
Markdown
25 lines
861 B
Markdown
### pullAtValue
|
|
|
|
Mutates the original array to filter out the values specified. Returns the removed elements.
|
|
|
|
Use `Array.filter()` and `Array.includes()` to pull out the values that are not needed.
|
|
Use `Array.length = 0` to mutate the passed in an array by resetting it's length to zero and `Array.push()` to re-populate it with only the pulled values.
|
|
Use `Array.push()` to keep track of pulled values
|
|
|
|
```js
|
|
const pullAtValue = (arr, pullArr) => {
|
|
let removed = [],
|
|
pushToRemove = arr.forEach((v, i) => pullArr.includes(v) ? removed.push(v) : v),
|
|
mutateTo = arr.filter((v, i) => !pullArr.includes(v));
|
|
arr.length = 0;
|
|
mutateTo.forEach(v => arr.push(v));
|
|
return removed;
|
|
}
|
|
/*
|
|
let myArray = ['a', 'b', 'c', 'd'];
|
|
let pulled = pullAtValue(myArray, ['b', 'd']);
|
|
console.log(myArray); -> [ 'a', 'c' ]
|
|
console.log(pulled); -> [ 'b', 'd' ]
|
|
*/
|
|
```
|