From fc9002a2ace32edd54756b51f7fccf5385cdfd4e Mon Sep 17 00:00:00 2001 From: yazeedb Date: Thu, 26 Apr 2018 20:17:15 -0400 Subject: [PATCH 1/5] add snippet --- snippets/reject.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 snippets/reject.md diff --git a/snippets/reject.md b/snippets/reject.md new file mode 100644 index 000000000..3833c8b50 --- /dev/null +++ b/snippets/reject.md @@ -0,0 +1,15 @@ +### reject + +Takes a predicate and array, like `Array.filter()`, but only keeps `x` if `pred(x) === false`. + +```js +const reject = (pred, array) => array.filter((...args) => !pred(...args)) +``` + +```js +reject(x => x % 2 === 0, [1, 2, 3, 4, 5]) +// [1, 3, 5] + +reject(word => word.length > 4, ['Apple', 'Pear', 'Kiwi', 'Banana']) +// ['Pear', 'Kiwi'] +``` From 3651b4e8e5eeae921fbb3bed7b1869d9af1f3a81 Mon Sep 17 00:00:00 2001 From: yazeedb Date: Thu, 26 Apr 2018 20:17:51 -0400 Subject: [PATCH 2/5] add tag --- tag_database | 1 + 1 file changed, 1 insertion(+) diff --git a/tag_database b/tag_database index 68504d62a..f8d0d5644 100644 --- a/tag_database +++ b/tag_database @@ -217,6 +217,7 @@ redirect:browser,url reducedFilter:array reduceSuccessive:array,function reduceWhich:array,function +reject:array remove:array removeNonASCII:string,regexp renameKeys:object From 501099e26d3acb66ae2eb113e55513506566b0f5 Mon Sep 17 00:00:00 2001 From: yazeedb Date: Thu, 26 Apr 2018 20:23:22 -0400 Subject: [PATCH 3/5] add test --- test/reject/reject.js | 2 ++ test/reject/reject.test.js | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 test/reject/reject.js create mode 100644 test/reject/reject.test.js diff --git a/test/reject/reject.js b/test/reject/reject.js new file mode 100644 index 000000000..407db4701 --- /dev/null +++ b/test/reject/reject.js @@ -0,0 +1,2 @@ +const reject = (pred, array) => array.filter((...args) => !pred(...args)) +module.exports = reject; \ No newline at end of file diff --git a/test/reject/reject.test.js b/test/reject/reject.test.js new file mode 100644 index 000000000..a82244682 --- /dev/null +++ b/test/reject/reject.test.js @@ -0,0 +1,24 @@ +const test = require('tape'); +const reject = require('./reject.js'); + +test('Testing reject', (t) => { + //For more information on all the methods supported by tape + //Please go to https://github.com/substack/tape + t.true(typeof reject === 'function', 'reject is a Function'); + + const noEvens = reject( + (x) => x % 2 === 0, + [1, 2, 3, 4, 5] + ); + + t.deepEqual(noEvens, [1, 3, 5]); + + const fourLettersOrLess = reject( + (word) => word.length > 4, + ['Apple', 'Pear', 'Kiwi', 'Banana'] + ); + + t.deepEqual(fourLettersOrLess, ['Pear', 'Kiwi']); + + t.end(); +}); From ddaafb8e824a0a153eb804c368ba629188d09428 Mon Sep 17 00:00:00 2001 From: yazeedb Date: Fri, 27 Apr 2018 07:57:19 -0400 Subject: [PATCH 4/5] fix spacing and semicolons --- snippets/reject.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/snippets/reject.md b/snippets/reject.md index 3833c8b50..2aa61b618 100644 --- a/snippets/reject.md +++ b/snippets/reject.md @@ -3,13 +3,10 @@ Takes a predicate and array, like `Array.filter()`, but only keeps `x` if `pred(x) === false`. ```js -const reject = (pred, array) => array.filter((...args) => !pred(...args)) +const reject = (pred, array) => array.filter((...args) => !pred(...args)); ``` ```js -reject(x => x % 2 === 0, [1, 2, 3, 4, 5]) -// [1, 3, 5] - -reject(word => word.length > 4, ['Apple', 'Pear', 'Kiwi', 'Banana']) -// ['Pear', 'Kiwi'] +reject(x => x % 2 === 0, [1, 2, 3, 4, 5]); // [1, 3, 5] +reject(word => word.length > 4, ['Apple', 'Pear', 'Kiwi', 'Banana']); // ['Pear', 'Kiwi'] ``` From e0ce29f8b38c059bf56a34d93e14dd85e2de1915 Mon Sep 17 00:00:00 2001 From: yazeedb Date: Fri, 27 Apr 2018 07:58:10 -0400 Subject: [PATCH 5/5] regenerate reject.js test file --- test/reject/reject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/reject/reject.js b/test/reject/reject.js index 407db4701..85718b833 100644 --- a/test/reject/reject.js +++ b/test/reject/reject.js @@ -1,2 +1,2 @@ -const reject = (pred, array) => array.filter((...args) => !pred(...args)) +const reject = (pred, array) => array.filter((...args) => !pred(...args)); module.exports = reject; \ No newline at end of file