Return value of forEach

Frankie Bagnardi f.bagnardi at gmail.com
Fri Oct 16 12:38:07 UTC 2015


That'd be a compatibility break.

If we end up getting :: though:

```js
function logEach(){
  this.forEach((x) => console.log(x));
  return this;
}


const a = [1, 2, 3]
  .map(square)
  ::logEach()
  .map(plus1)
  .reduce(add);
```

You could make that a global variable so you can sprinkle it around your
code in development.

Having some developer tools in the language would be nice though. I don't
even think console.log is in the spec. A global like Debug.logThis for
example would be a more general ::-able.


On Fri, Oct 16, 2015 at 5:32 AM, Andrea Giammarchi <
andrea.giammarchi at gmail.com> wrote:

> ```js
> const a = [1, 2, 3]
>   .map(square)
>   .map(x => console.log(x) || x )
>   .map(plus1)
>   .reduce(add);
> ```
>
> Regards
>
>
> On Fri, Oct 16, 2015 at 10:13 AM, Niloy Mondal <niloy.mondal84 at gmail.com>
> wrote:
>
>> Currently, `Array.prototype.forEach` returns `undefined`. It would be more
>> useful if it returns the array itself.
>>
>> Say I have written some code like this...
>>
>> ```js
>> const a = [1, 2, 3]
>>   .map(square)
>>   .map(plus1)
>>   .reduce(add);
>> ```
>>
>> For some reason, I am not getting the expected output. For debugging, I
>> would
>> like the print the values after each step. My first initial reaction is to
>> put a `forEach` step in between and print the values like so...
>>
>> ```js
>> const a = [1, 2, 3]
>>   .map(square)
>>   .forEach(x => console.log(x))
>>   .map(plus1)
>>   .reduce(add);
>> ```
>>
>> Unfortunately, this does not work as `forEach` returns `undefined`. I now
>> have
>> to comment out all the code below it. Having the _plug and play_
>> behaviour for
>> `forEach` would be very convenient.
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20151016/6517ba55/attachment.html>


More information about the es-discuss mailing list