UNPKG

554 BJavaScriptView Raw
1'use strict';
2var $ = require('../internals/export');
3var iterate = require('../internals/iterate');
4var aFunction = require('../internals/a-function');
5
6// `Map.keyBy` method
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);
15 });
16 return newMap;
17 }
18});