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
|
||||
factorial:math,recursion,beginner
|
||||
fibonacci:math,array,beginner
|
||||
filterFalsy:array,beginner
|
||||
filterNonUnique:array,beginner
|
||||
filterNonUniqueBy:array,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