Group Array of JavaScript Objects by Key or Property Value Implementation const groupBy = key => array => array.reduce((objectsByKeyValue, obj) => { const value = obj[key]; objectsByKeyValue[value] = (objectsByKeyValue[value] || []).concat(obj); return objectsByKeyValue;
Provider Singleton Instantiable Configurable Constant Yes No No Value Yes No No Service Yes No No Factory Yes Yes No Decorator Yes No? No Provider Yes Yes Yes Constant