See also https://mail.mozilla.org/pipermail/es-discuss/2012-January/019723.html where defaultdict was raised on es-discuss for the first time (if I'm not mistaken).

/be

Yehuda Katz wrote:
There are many cases involving nested data structures where the ability to define a default value in Maps would be helpful.

Straw Man:

var map = new Map(=> [])
var arr = map.get('foo')
arr === map.get('foo') // true

This enables:

map.get('foo').push(obj)

Which would be (*very*) approximately equivalent to:

class MapWithDefault extends Map {
  constructor(default) {
    this.defaultValue = default;
    super();
  }

  get(key) {
    if (!this.contains('foo')) {
      let value = this.defaultValue(key);
      map.set(key, value);
    }

    return super(key);
  }
}

--
Yehuda Katz
(ph) 718.877.1325
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to