and post with few variants: http://webreflection.blogspot.com/2013/03/breaking-array-extras.html
br On Sun, Mar 3, 2013 at 3:15 PM, Andrea Giammarchi < [email protected]> wrote: > hacky but easy to solve reusing once a RegExp > > var i = [1,2,3].some(function(v, i){ > return v === 2 && this.test(i); > }, /\d+/) && RegExp['$&']; > > alert(i); // 1 > > no extra loop, no global anything, just an extra object needed, the > RegExp, actually something you could create once in your closure and > recycle every time you need. > > br > > > > > On Sun, Mar 3, 2013 at 2:33 PM, Brendan Eich <[email protected]> wrote: > >> Bjoern Hoehrmann wrote: >> >>> * David Bruant wrote: >>> >>>> I've found myself multiple times in a situation where I needed the index >>>> of the first element responding to some conditions. I solved it the >>>> following way: >>>> >>>> var index; >>>> array.some(function(e, i){ >>>> if(someCondition(e)){ >>>> index = i; >>>> return false; >>>> } >>>> >>>> return true; >>>> }) >>>> >>> >>> It's usually a bad idea to trigger side-effects from such callbacks. The >>> proper solution here would be having a suitable method available, like >>> >>> var index = array.findIndex(someCondition)**; >>> >>> as it is called in Haskell and C#. >>> >> >> Hi Bjoern, findIndex is indeed a missing Array generic. I'll see if we >> can get it on the agenda for the next TC39 meeting (coming up quickly, >> mid-March). Thanks, >> >> /be >> >> ______________________________**_________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/**listinfo/es-discuss<https://mail.mozilla.org/listinfo/es-discuss> >> > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

