array-grouping-polyfill
Version:
proposal-array-grouping polyfill. Polyfill for array.prototype.groupBy and array.prototype.groupByMap
22 lines • 2.45 kB
JavaScript
var _a, _b;
var _c, _d;
(_a = (_c = Array.prototype).groupBy) !== null && _a !== void 0 ? _a : (_c.groupBy = function (callback, thisArg) {
var obj = {};
this.forEach(function (value, idx, self) {
var _a;
var ret = thisArg ? callback.call(thisArg, value, idx, self) : callback(value, idx, self);
((_a = obj[ret]) !== null && _a !== void 0 ? _a : (obj[ret] = [])).push(value);
});
return obj;
});
(_b = (_d = Array.prototype).groupByToMap) !== null && _b !== void 0 ? _b : (_d.groupByToMap = function (callback, thisArg) {
var map = new Map();
this.forEach(function (value, idx, self) {
var ret = thisArg ? callback.call(thisArg, value, idx, self) : callback(value, idx, self);
var group = map.get(ret) || [];
if (group.push(value) === 1)
map.set(ret, group);
});
return map;
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSxZQUFBLEtBQUssQ0FBQyxTQUFTLEVBQUMsT0FBTyx1Q0FBUCxPQUFPLEdBQUssVUFDeEIsUUFBeUQsRUFDekQsT0FBYTtJQUViLElBQU0sR0FBRyxHQUFzQixFQUFTLENBQUM7SUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSTs7UUFFMUIsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1RixPQUFDLEdBQUcsQ0FBQyxHQUFHLHFDQUFQLEdBQUcsQ0FBQyxHQUFHLElBQU0sRUFBRSxFQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDLEVBQUE7QUFFRCxZQUFBLEtBQUssQ0FBQyxTQUFTLEVBQUMsWUFBWSx1Q0FBWixZQUFZLEdBQUssVUFDN0IsUUFBeUQsRUFDekQsT0FBYTtJQUViLElBQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7SUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSTtRQUUxQixJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRzVGLElBQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFckQsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUMsRUFBQSJ9