Throwing StopIteration in array extras to stop the iteration

Andrea Giammarchi andrea.giammarchi at gmail.com
Mon Mar 4 11:37:25 PST 2013


this is what 've wrote as prototype at the end of the post. findIndex makes
sense to me and is better, in term of manipulation, than finding just an
element.

(function(AP){
AP.findIndex || (
  AP.findIndex = function(fn, self) {
    var $i = -1;
    AP.some.call(this, function(v, i, a) {
      if (fn.call(this, v, i, a)) {
        $i = i;
        return true;
      }
    }, self);
    return $i;
  };
);
}(Array.prototype));

As you can see, and for consistency reasons, it returns -1 when the
condition is not found.

Then we might discuss how useful would be a startFromIndex property but I
believe the optional context is more useful than that (and indeed there are
very few cases I needed that with Array#indexOf)

br


On Mon, Mar 4, 2013 at 11:32 AM, Rick Waldron <waldron.rick at gmail.com>wrote:

>
>
>
> On Mon, Mar 4, 2013 at 11:29 AM, Jeff Walden <jwalden+es at mit.edu> wrote:
>
>> On 03/03/2013 06:49 PM, Rick Waldron wrote:
>> > Is this +1 to findIndex?
>>
>> Not that I much care between the two, just making sure another reasonable
>> name is considered, but I'm not sure why it wouldn't be named "find" rather
>> than "findIndex".
>
>
> Because "find' isn't "findIndex"—find would return the element, findIndex
> would return the index.
>
> Rick
>
>
>> The index seems like the only bit you'd reasonably be looking to find.
>>  (Well, maybe existence, but I'd expect a name like "contains" for that, or
>> just indexOf !== -1.)
>>
>> Jeff
>>
>
>
> _______________________________________________
> 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/20130304/3025366b/attachment.html>


More information about the es-discuss mailing list