Can't do push in forEach

Andrea Giammarchi andrea.giammarchi at gmail.com
Thu May 14 18:50:45 UTC 2015


> So this style I favorite since I want to avoid creating another function:

this is like believing that `fn.bind()` won't create a different
object/function ... right?

Or you want to lock that function to receive one forever until you unlock
it? That's the only way you could mutate the function behavior without
creating a new object/function like bind would do.

And since bind is at least 3X slower than fat arrow, why would you do that?


On Thu, May 14, 2015 at 7:36 PM, Emanuel Allen <emanuelallen at hotmail.com>
wrote:

> It should allow for:
>
> arr.forEach(arr.push.only(1));//only return a function limiting the number
> of arguments pass to it...
>
> But I guess this work too:
> arr.forEach(e=>arr.push(e));
>
> But my goal was to just:
> arr.forEach(arr.push);//will not work
>
> So this style I favorite since I want to avoid creating another function:
> arr.forEach(arr.push.only(1));
>
> Even know only will return another function base on the parameter to you
> pass to it.
>
> Still, I think it would be a great addition to the Function.prototype
> object.
>
> JS4L
>
> On May 14, 2015, at 1:42 PM, Andrea Giammarchi <
> andrea.giammarchi at gmail.com> wrote:
>
> `$1 => a.push($1)`
>
> fat arrow function shines mostly in these cases, not sure there's a need
> for anything else.
>
> `($1, $2, $3) => a.push($2, $3)`
>
> Regards
>
> On Thu, May 14, 2015 at 5:26 PM, Emanuel Allen <emanuelallen at hotmail.com>
> wrote:
>
>> That would be great to have an only method on Function.prototype.only
>>
>> It can take one to three parameters as arguments:
>> -Only with using the first argument:
>>
>> SomeFunction.only(1);
>> only allow the first argument in. It target the place holder so:
>> fn.only(2) allow the two most left argument in.
>>
>> -Only with using the first 2 argument:
>>
>> SomeFunction.only(1,2);
>> only allow the second argument in; the second argument target where to
>> start and the first not how many to let in. So fn.only(2,3); let the third
>> and fourth argument in.
>>
>> -Only with using all arguments placeholder:
>>
>> SomeFunction.only(1,2,true);
>> This will denote that we start from the right and and let the second from
>> last argument in
>>
>> The last parameter is informing if we should start left or right when
>> choosing the parameters to let in. The default is false; start left to right
>>
>>
>> Internally this could use the function's arguments object to query what
>> to let in.
>>
>> JS4L
>>
>> On May 14, 2015, at 11:37 AM, Allen Wirfs-Brock <allen at wirfs-brock.com>
>> wrote:
>>
>>
>> On May 14, 2015, at 8:19 AM, Emanuel Allen wrote:
>>
>> Oh yes that is correct since push will push in elements separated by
>> commas... Still my original problem is that I can't simply do
>> arr.push(arr2.push); but it doesn't matter since it'll also push the three
>> parameters into the array as well.
>>
>>
>> exactly, see http://www.wirfs-brock.com/allen/posts/166
>>
>>
>>
>> Sent from my iPhone
>>
>> On May 14, 2015, at 10:49 AM, Erik Arvidsson <erik.arvidsson at gmail.com>
>> wrote:
>>
>> Still, the callback for forEach is called with 3 arguments; value, index
>> and the array.
>>
>> This is clearly documented in the spec and mdn and other resources.
>>
>> On Thu, May 14, 2015, 10:42 Garrett Smith <dhtmlkitchen at gmail.com> wrote:
>>
>>> On 5/14/15, Emanuel Allen <emanuelallen at hotmail.com> wrote:
>>> > Surprise that I can't do arr1.forEeach(arr2.push);
>>> >
>>>
>>> Check that line more carefully.
>>>
>>>
>>> > Will throw an error.
>>> >
>>> > Using bind as:
>>> >
>>> > push = arr2.bind(push);
>>>
>>> Arrays don't have a bind method.
>>> --
>>> Garrett
>>> @xkit
>>> ChordCycles.com
>>> garretts.github.io
>>> personx.tumblr.com
>>> _______________________________________________
>>> 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
>>
>>
>>
>> _______________________________________________
>> 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/20150514/e4997043/attachment.html>


More information about the es-discuss mailing list