From 5c693aee76e0daa6dd0c63ce0bad90df1330d4dc Mon Sep 17 00:00:00 2001 From: Mykolas Krupauskas Date: Mon, 29 Oct 2018 23:19:01 +0200 Subject: [PATCH 1/3] add filterFalsy snippet, tags, and tests --- snippets/filterFalsy.md | 13 +++++++++++++ tag_database | 1 + test/filterFalsy.test.js | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100755 snippets/filterFalsy.md create mode 100755 test/filterFalsy.test.js diff --git a/snippets/filterFalsy.md b/snippets/filterFalsy.md new file mode 100755 index 000000000..0928a2ec1 --- /dev/null +++ b/snippets/filterFalsy.md @@ -0,0 +1,13 @@ +### filterFalsy + +Filters out the falsy values in an array. + +Use `Array.prototype.filter()` to get an array containing only truthy values. + +```js +const filterFalsy = arr => arr.filter(Boolean) +``` + +```js +filterFalsy(['', true, {}, false, 'sample', 1, 0]); // [true, {}, 'sample', 1] +``` diff --git a/tag_database b/tag_database index aaa61a47e..6b4ced2d4 100644 --- a/tag_database +++ b/tag_database @@ -75,6 +75,7 @@ everyNth:array,beginner extendHex:utility,string,intermediate factorial:math,recursion,beginner fibonacci:math,array,beginner +filterFalsy:array,beginner filterNonUnique:array,beginner filterNonUniqueBy:array,function,intermediate findKey:object,function,intermediate diff --git a/test/filterFalsy.test.js b/test/filterFalsy.test.js new file mode 100755 index 000000000..7f0e4166d --- /dev/null +++ b/test/filterFalsy.test.js @@ -0,0 +1,18 @@ +const expect = require('expect'); +const {filterFalsy} = require('._30s.js'); + +test('filterFalsy is a Function', () => { + expect(filterFalsy).toBeInstanceOf(Function); +}); + +test('filterFalsy filters different types of falsy values', () => { + expect(filterFalsy(['', true, {}, false, 'sample', 1, 0])).toEqual([true, {}, 'sample', 1]); +}); + +test('filterFalsy returns an empty array if you pass it an array of falsy values', () => { + expect(filterFalsy(['', 0, false, '', false, 0])).toEqual([]); +}); + +test('filterFalsy returns all of the truthy elements in an array', () => { + expect(filterFalsy([true, null, 'test', {}, []])).toEqual([true, 'test', {}, []]); +}); From fc1346f74979aa4a200eee002a06ae1f31759b27 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 7 Dec 2018 18:13:48 +0200 Subject: [PATCH 2/3] Update filterFalsy.md --- snippets/filterFalsy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/filterFalsy.md b/snippets/filterFalsy.md index 0928a2ec1..25478656b 100755 --- a/snippets/filterFalsy.md +++ b/snippets/filterFalsy.md @@ -5,7 +5,7 @@ Filters out the falsy values in an array. Use `Array.prototype.filter()` to get an array containing only truthy values. ```js -const filterFalsy = arr => arr.filter(Boolean) +const filterFalsy = arr => arr.filter(Boolean); ``` ```js From 71cf217cc197c9a40546790e99799229238dedf4 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 7 Dec 2018 18:15:32 +0200 Subject: [PATCH 3/3] Update filterFalsy.test.js --- test/filterFalsy.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/filterFalsy.test.js b/test/filterFalsy.test.js index 7f0e4166d..9daef08c8 100755 --- a/test/filterFalsy.test.js +++ b/test/filterFalsy.test.js @@ -1,5 +1,5 @@ const expect = require('expect'); -const {filterFalsy} = require('._30s.js'); +const { filterFalsy } = require('./_30s.js'); test('filterFalsy is a Function', () => { expect(filterFalsy).toBeInstanceOf(Function);