Update pullAtValue.md
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
### pullAtValue
|
||||
|
||||
This method is like pull except that it accepts an array of values to filter out before Mutating and pulling all the values from the original array. Which then returns an array of removed elements.
|
||||
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 array by resetting it's length to zero and `Array.push()` to re-populate it with only the pulled values.
|
||||
@ -8,20 +8,17 @@ Use `Array.push()` to keep track of pulled values
|
||||
|
||||
```js
|
||||
const pullAtValue = (arr, pullArr) => {
|
||||
let removed = [];
|
||||
let pushToRemove = arr.forEach((v, i) => pullArr.includes(v) ? removed.push(v) : v)
|
||||
let mutateTo = arr.filter((v, i) => !pullArr.includes(v))
|
||||
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']);
|
||||
|
||||
// let myArray = ['a', 'b', 'c', 'd'];
|
||||
// let pulled = pullAtValue(myArray, ['b', 'd']);
|
||||
|
||||
// console.log(myArray); -> [ 'a', 'c' ]
|
||||
// console.log(pulled); -> [ 'b', 'd' ]
|
||||
console.log(myArray); -> [ 'a', 'c' ]
|
||||
console.log(pulled); -> [ 'b', 'd' ]
|
||||
*/
|
||||
```
|
||||
Reference in New Issue
Block a user