Traversal in insertion order for Set.prototype.add/delete

Allen Wirfs-Brock allen at wirfs-brock.com
Thu Apr 24 09:45:25 PDT 2014


On Apr 23, 2014, at 8:54 PM, Qantas 94 Heavy wrote:

> We need a deterministic order. What deterministic order do you suggest? Why would it be better?
> 
> Sorry for the confusion, I completely worded that wrong.
> 
> I'm specifically referring to the specification sections 23.2.3.1 and 23.2.3.4 (specifying the behaviour for Set#add and Set#delete), which states that:
> 
> 6. Repeat for each e that is an element of entries, in original insertion order
> 
> I don't see any real reason why that's needed, unless there's some odd side effects of doing so that I'm not aware of. Sets are meant to be unique and I don't think the order of checking whether the element already exists really matters. I'm not advocating for any change for the deterministic order of iteration in Set#forEach and for-of loops on sets.

You're right that phrase isn't need for probing operations such as used by add and delete.  It only matters for iteration operations.  In fact, that phrase doesn't appear in the corresponding methods of Map. I'll remove the unnecessary requirement.

Allen

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140424/178124b2/attachment.html>


More information about the es-discuss mailing list