Travis build: 1437
This commit is contained in:
58
README.md
58
README.md
@ -135,6 +135,7 @@ average(1, 2, 3);
|
|||||||
* [`pull`](#pull)
|
* [`pull`](#pull)
|
||||||
* [`pullAtIndex`](#pullatindex)
|
* [`pullAtIndex`](#pullatindex)
|
||||||
* [`pullAtValue`](#pullatvalue)
|
* [`pullAtValue`](#pullatvalue)
|
||||||
|
* [`pullBy`](#pullby-)
|
||||||
* [`reducedFilter`](#reducedfilter)
|
* [`reducedFilter`](#reducedfilter)
|
||||||
* [`reduceSuccessive`](#reducesuccessive)
|
* [`reduceSuccessive`](#reducesuccessive)
|
||||||
* [`reduceWhich`](#reducewhich)
|
* [`reduceWhich`](#reducewhich)
|
||||||
@ -355,6 +356,7 @@ average(1, 2, 3);
|
|||||||
* [`reverseString`](#reversestring)
|
* [`reverseString`](#reversestring)
|
||||||
* [`sortCharactersInString`](#sortcharactersinstring)
|
* [`sortCharactersInString`](#sortcharactersinstring)
|
||||||
* [`splitLines`](#splitlines)
|
* [`splitLines`](#splitlines)
|
||||||
|
* [`stripHTMLtags`](#striphtmltags)
|
||||||
* [`toCamelCase`](#tocamelcase)
|
* [`toCamelCase`](#tocamelcase)
|
||||||
* [`toKebabCase`](#tokebabcase)
|
* [`toKebabCase`](#tokebabcase)
|
||||||
* [`toSnakeCase`](#tosnakecase)
|
* [`toSnakeCase`](#tosnakecase)
|
||||||
@ -1709,6 +1711,40 @@ let pulled = pullAtValue(myArray, ['b', 'd']); // myArray = [ 'a', 'c' ] , pulle
|
|||||||
<br>[⬆ Back to top](#table-of-contents)
|
<br>[⬆ Back to top](#table-of-contents)
|
||||||
|
|
||||||
|
|
||||||
|
### pullBy 
|
||||||
|
|
||||||
|
Mutates the original array to filter out the values specified, based on a given iterator function.
|
||||||
|
|
||||||
|
Check if the last argument provided in a function.
|
||||||
|
Use `Array.map()` to apply the iterator function `fn` to all array 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.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const pullBy = (arr, ...args) => {
|
||||||
|
const length = args.length;
|
||||||
|
let fn = length > 1 ? args[length - 1] : undefined;
|
||||||
|
fn = typeof fn == 'function' ? (args.pop(), fn) : undefined;
|
||||||
|
let argState = (Array.isArray(args[0]) ? args[0] : args).map(val => fn(val));
|
||||||
|
let pulled = arr.filter((v, i) => !argState.includes(fn(v)));
|
||||||
|
arr.length = 0;
|
||||||
|
pulled.forEach(v => arr.push(v));
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Examples</summary>
|
||||||
|
|
||||||
|
```js
|
||||||
|
var myArray = [{ x: 1 }, { x: 2 }, { x: 3 }, { x: 1 }];
|
||||||
|
pullBy(myArray, [{ x: 1 }, { x: 3 }], o => o.x); // myArray = [{ x: 2 }]
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<br>[⬆ Back to top](#table-of-contents)
|
||||||
|
|
||||||
|
|
||||||
### reducedFilter
|
### reducedFilter
|
||||||
|
|
||||||
Filter an array of objects based on a condition while also filtering out unspecified keys.
|
Filter an array of objects based on a condition while also filtering out unspecified keys.
|
||||||
@ -6269,6 +6305,28 @@ splitLines('This\nis a\nmultiline\nstring.\n'); // ['This', 'is a', 'multiline',
|
|||||||
<br>[⬆ Back to top](#table-of-contents)
|
<br>[⬆ Back to top](#table-of-contents)
|
||||||
|
|
||||||
|
|
||||||
|
### stripHTMLTags
|
||||||
|
|
||||||
|
Removes HTML/XML tags from string.
|
||||||
|
|
||||||
|
Use a regular expression to remove HTML/XML tags from a string.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const stripHTMLTags = str => str.replace(/<[^>]*>/g, '');
|
||||||
|
```
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Examples</summary>
|
||||||
|
|
||||||
|
```js
|
||||||
|
stripHTMLTags('<p><em>lorem</em> <strong>ipsum</strong></p>'); // 'lorem ipsum'
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<br>[⬆ Back to top](#table-of-contents)
|
||||||
|
|
||||||
|
|
||||||
### toCamelCase
|
### toCamelCase
|
||||||
|
|
||||||
Converts a string to camelcase.
|
Converts a string to camelcase.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -20,6 +20,6 @@ const pullBy = (arr, ...args) => {
|
|||||||
```
|
```
|
||||||
|
|
||||||
```js
|
```js
|
||||||
var myArray = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
|
var myArray = [{ x: 1 }, { x: 2 }, { x: 3 }, { x: 1 }];
|
||||||
pullBy(myArray, [{ 'x': 1 }, { 'x': 3 }], o => o.x); // myArray = [{ x: 2 }]
|
pullBy(myArray, [{ x: 1 }, { x: 3 }], o => o.x); // myArray = [{ x: 2 }]
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user