Sha256: c2d2cd5875e62266d87c1c80658be62c72a716ea96358a3ac83fca12af43f074

Contents?: true

Size: 755 Bytes

Versions: 29

Compression:

Stored size: 755 Bytes

Contents

'use strict';
var $ = require('../internals/export');
var iterate = require('../internals/iterate');
var aFunction = require('../internals/a-function');

// `Map.groupBy` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', stat: true }, {
  groupBy: function groupBy(iterable, keyDerivative) {
    var newMap = new this();
    aFunction(keyDerivative);
    var has = aFunction(newMap.has);
    var get = aFunction(newMap.get);
    var set = aFunction(newMap.set);
    iterate(iterable, function (element) {
      var derivedKey = keyDerivative(element);
      if (!has.call(newMap, derivedKey)) set.call(newMap, derivedKey, [element]);
      else get.call(newMap, derivedKey).push(element);
    });
    return newMap;
  }
});

Version data entries

29 entries across 28 versions & 9 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/core-js/modules/esnext.map.group-by.js
disco_app-0.18.0 test/dummy/node_modules/core-js/modules/esnext.map.group-by.js
disco_app-0.18.2 test/dummy/node_modules/core-js/modules/esnext.map.group-by.js
tang-0.2.1 spec/tang_app/node_modules/core-js/modules/esnext.map.group-by.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/core-js/modules/esnext.map.group-by.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/core-js/modules/esnext.map.group-by.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/core-js/modules/esnext.map.group-by.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/core-js/modules/esnext.map.group-by.js
tang-0.2.0 spec/tang_app/node_modules/core-js/modules/esnext.map.group-by.js
tang-0.1.0 spec/tang_app/node_modules/core-js/modules/esnext.map.group-by.js
tang-0.0.9 spec/tang_app/node_modules/core-js/modules/esnext.map.group-by.js
enju_library-0.3.8 spec/dummy/node_modules/core-js/modules/esnext.map.group-by.js
condenser-0.3 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.map.group-by.js
condenser-0.2 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.map.group-by.js
condenser-0.1 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.map.group-by.js
condenser-0.0.12 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.map.group-by.js
condenser-0.0.11 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.map.group-by.js
condenser-0.0.10 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.map.group-by.js
condenser-0.0.9 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.map.group-by.js
condenser-0.0.8 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.map.group-by.js