2 var $ = require('../internals/export');
3 var iterate = require('../internals/iterate');
4 var aFunction = require('../internals/a-function');
7 // https://github.com/tc39/proposal-collection-methods
8 $({ target: 'Map', stat: true }, {
9 keyBy: function keyBy(iterable, keyDerivative) {
10 var newMap = new this();
11 aFunction(keyDerivative);
12 var setter = aFunction(newMap.set);
13 iterate(iterable, function (element) {
14 setter.call(newMap, keyDerivative(element), element);