Throwing StopIteration in array extras to stop the iteration

Brendan Eich brendan at mozilla.com
Sun Mar 3 14:33:41 PST 2013


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


More information about the es-discuss mailing list