add filterFalsy snippet, tags, and tests
This commit is contained in:
13
snippets/filterFalsy.md
Executable file
13
snippets/filterFalsy.md
Executable file
@ -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]
|
||||||
|
```
|
||||||
@ -75,6 +75,7 @@ everyNth:array,beginner
|
|||||||
extendHex:utility,string,intermediate
|
extendHex:utility,string,intermediate
|
||||||
factorial:math,recursion,beginner
|
factorial:math,recursion,beginner
|
||||||
fibonacci:math,array,beginner
|
fibonacci:math,array,beginner
|
||||||
|
filterFalsy:array,beginner
|
||||||
filterNonUnique:array,beginner
|
filterNonUnique:array,beginner
|
||||||
filterNonUniqueBy:array,function,intermediate
|
filterNonUniqueBy:array,function,intermediate
|
||||||
findKey:object,function,intermediate
|
findKey:object,function,intermediate
|
||||||
|
|||||||
18
test/filterFalsy.test.js
Executable file
18
test/filterFalsy.test.js
Executable file
@ -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', {}, []]);
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user