On Thu, Jun 27, 2013 at 5:06 PM, Allen Wirfs-Brock <[email protected]> wrote: > On Jun 27, 2013, at 4:47 PM, Tab Atkins Jr. wrote: >> Has it been discussed yet to add an .update() method to Map and Set, a >> la Python, which take an iterable (yielding [key, value] for Map, and >> just value for Set) and add the iterable's entries to the Map/Set? >> >> It desugars easily: >> >> Map.prototype.update = function(iter) { >> Map(iter).forEach((v,k)=>this.set(k,v)); >> }; >> Set.prototype.update = function(iter) { >> Set(iter).forEach(v=>this.add(v)); >> }; >> >> I've used this kind of dict/set addition in Python plenty, and added >> the method to my Map polyfill that I use for some personal projects. >> >> Thoughts? >> > > for (let [k,v] of iter) myMap.set(k,v)
Right, it's easy to write yourself, but it's a common enough operation that Python found it worthwhile to add, and I found it useful for my own purposes. In particular, I like that it just returns the modified map/set, so it's easy to chain with, or to immediately return. It's basically equivalent to dest.splice(-1, 0, ...source) for Arrays. (Or concat, if you ignore the fact that it doesn't alter the destination.) ~TJ _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

