> On May 22, 2016, at 1:55 PM, Šime Vidas <[email protected]> wrote:
> 
> Say I have an array over which I need to iterate multiple times, but I need 
> the index value only some of the time. Is it possible to create a custom 
> iterator which auto-detects when I need the index and feeds me entries() 
> instead of values() in those cases? For example:
> 
> array[Symbol.iterator] = /* some magic here */
> 
> for (let elem of array) { /* values() iterator is used automatically */ }
> for (let [i, elem] of array) { /* entries() iterator is used automatically */ 
> }

The ES internal protocol design assumes that you would to this as follows:

for (let elem of array.entries()) { /* values() iterator is explicitly used */ }
for (let [i, elem] of array.elements()) { /* entries() iterator is explicitly 
used */ }

No magic is  necessary.

Allen


_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to