See https://github.com/bterlson/proposal-flatMap

On Fri, May 19, 2017 at 12:54 PM, Frankie Bagnardi <[email protected]>
wrote:

> I often do the `.reduce((xs, ys) => xs.concat(ys))` and I feel the need to
> leave a comment explaining what it does.
>
> +1 to this proposal.
>
>
> On Fri, May 19, 2017 at 12:44 PM, Luan Nico <luannico27+es-discuss@gmail.
> com> wrote:
>
>> 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
>>
>>
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to