<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Jul 18, 2018 at 2:06 PM Nicolas B. Pierron <<a href="mailto:nicolas.b.pierron@mozilla.com">nicolas.b.pierron@mozilla.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Jul 18, 2018 at 5:31 PM, Michael Luder-Rosefield<br>
<<a href="mailto:rosyatrandom@gmail.com" target="_blank">rosyatrandom@gmail.com</a>> wrote:<br>
> At the moment, we have:<br>
><br>
> every<br>
> filter<br>
> find<br>
> findIndex<br>
> forEach<br>
> indexOf / lastIndexOf<br>
> map<br>
> reduce / reduceRight<br>
> some<br>
><br>
> which is not very consistent at all. Perhaps we could add an `iterOrder`<br>
> method that changes the way the array is iterated through?<br>
<br>
Stupid question, but why are some of these methods implemented on<br>
String, Array, TypedArray, Map and Set, while all of them are<br>
Iteratable?<br>
</blockquote><div><br></div><div><div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">String is different from the others.</div><div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">The String index methods deal with a contiguous subsequence of the sequence, not the index of an element in the sequence.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If we were to add all these methods on Iteratable, then one could add<br>
a `reverse` generator property on Iteratable.<br></blockquote><div><br></div><div>Reverse is problematic on String.  The index of a codepoint can't be subtracted from String.length since length is not the count of codepoints.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  Iteratable.prototype.reverse = function* reverse() { … };<br>
  foo.reverse().forEach( e => console.log(e) )<br>
<br>
Though, this implies that all these objects implement the Iteratable<br>
prototype, and I am not sure what impact this might have on the Web.<br></blockquote><div><br></div><div> <br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-- <br>
Nicolas B. Pierron<br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div></div>