From b3f7c855ff19700db7ff148cc045a207aa682b79 Mon Sep 17 00:00:00 2001 From: sabareesh Date: Thu, 14 Dec 2017 16:51:34 +0530 Subject: [PATCH] lodash remove duplicated --- README.md | 14 ++++++++++++++ snippets/remove.md | 12 ++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 snippets/remove.md diff --git a/README.md b/README.md index 77a5233e9..eacb3932a 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ * [Random number in range](#random-number-in-range) * [Randomize order of array](#randomize-order-of-array) * [Redirect to url](#redirect-to-url) +* [Remove](#remove) * [Reverse a string](#reverse-a-string) * [RGB to hexadecimal](#rgb-to-hexadecimal) * [Run promises in series](#run-promises-in-series) @@ -610,6 +611,19 @@ const redirect = (url, asLink = true) => // redirect('https://google.com') ``` +### Remove + +Remove elements from `arr` that are returns truthy. Use `Array.filter()` to finding the matching elements and `Array.reduce()` to remove elements using `Array.splice()`.The `func` is invoked with three arguments: (value, index, array). + +```js +const remove = (arr, func) => + arr.filter(func).reduce((acc, val) => { + arr.splice(arr.indexOf(val), 1) + return acc.concat(val); + }, []) +//remove([1, 2, 3, 4], n => n % 2 == 0) -> [2, 4] +``` + ### Reverse a string Use array destructuring and `Array.reverse()` to reverse the order of the characters in the string. diff --git a/snippets/remove.md b/snippets/remove.md new file mode 100644 index 000000000..6c8e71d55 --- /dev/null +++ b/snippets/remove.md @@ -0,0 +1,12 @@ +### Remove + +Remove elements from `arr` that are returns truthy. Use `Array.filter()` to finding the matching elements and `Array.reduce()` to remove elements using `Array.splice()`.The `func` is invoked with three arguments: (value, index, array). + +```js +const remove = (arr, func) => + arr.filter(func).reduce((acc, val) => { + arr.splice(arr.indexOf(val), 1) + return acc.concat(val); + }, []) +//remove([1, 2, 3, 4], n => n % 2 == 0) -> [2, 4] +```