run tdd, update test cases for flatten.
This commit is contained in:
@ -16,4 +16,5 @@ const flatten = (arr, depth = 1) =>
|
|||||||
|
|
||||||
```js
|
```js
|
||||||
flatten([1, [2], 3, 4]); // [1, 2, 3, 4]
|
flatten([1, [2], 3, 4]); // [1, 2, 3, 4]
|
||||||
|
flatten([1, [2, [3, [4, 5], 6], 7], 8], 2); // [1, 2, 3, [4, 5], 6, 7, 8]
|
||||||
```
|
```
|
||||||
|
|||||||
@ -1 +1,4 @@
|
|||||||
module.exports = flatten = arr => [].concat(...arr);
|
module.exports = flatten = (arr, depth = 1) =>
|
||||||
|
depth != 1
|
||||||
|
? arr.reduce((a, v) => a.concat(Array.isArray(v) ? flatten(v, depth - 1) : v), [])
|
||||||
|
: arr.reduce((a, v) => a.concat(v), []);
|
||||||
@ -6,6 +6,7 @@ test('Testing flatten', (t) => {
|
|||||||
//Please go to https://github.com/substack/tape
|
//Please go to https://github.com/substack/tape
|
||||||
t.true(typeof flatten === 'function', 'flatten is a Function');
|
t.true(typeof flatten === 'function', 'flatten is a Function');
|
||||||
t.deepEqual(flatten([1, [2], 3, 4]), [1, 2, 3, 4], "Flattens an array");
|
t.deepEqual(flatten([1, [2], 3, 4]), [1, 2, 3, 4], "Flattens an array");
|
||||||
|
t.deepEqual(flatten([1, [2, [3, [4, 5], 6], 7], 8], 2), [1, 2, 3, [4, 5], 6, 7, 8], "Flattens an array");
|
||||||
//t.deepEqual(flatten(args..), 'Expected');
|
//t.deepEqual(flatten(args..), 'Expected');
|
||||||
//t.equal(flatten(args..), 'Expected');
|
//t.equal(flatten(args..), 'Expected');
|
||||||
//t.false(flatten(args..), 'Expected');
|
//t.false(flatten(args..), 'Expected');
|
||||||
|
|||||||
Reference in New Issue
Block a user