I always surprise myself finding out there's no native way to flat an
array. I know it's easy to implement, but to increase legibility I propose
creating one of two options (either suffice, I believe):

  - `flatMap` : regular map, but flattens the array afterwards
  - `flatten` : just call on an array and get a new flattened array

Some examples usages of both:

With `flatMap`:
```
    const numbers = [12, 35];
    const divisors = numbers.flatMap(factors);
```

With `flatten`:
```
    const numbers = [12, 35];
    const divisors = numbers.map(factors).flatten();
```

Flattening an array is converting something like `[1, [2, 3], 4]` to `[1,
2, 3, 4]`.
There is also need to choose whether it's deep or shallow.

I suggest adding a `flatten` shallow method, as that would be useful in all
scenarios described.

Example implementation:

```
    Array.prototype.flatten = function () {
        return [].concat.apply([], this);
    };
```

What are your opinions about it?
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to