LINUX.ORG.RU

История изменений

Исправление deadNightTiger, (текущая версия) :

Напиши себе такую функцию:

const reduceBy = (reducer, initial, key) => (data) => {
  const accums = {};
  for (const datum of data) {
    const k = key(datum);
    accums[k] = reducer(accums[k] || initial, datum);
  }
  return accums;
};
Или можешь подключить https://ramdajs.com, там она из коробки

Исправление deadNightTiger, :

Напиши себе такую функцию:

const reduceBy = (reducer, initial, key) => (data) => {
  const accums = {};
  for (const datum of data) {
    const k = key(datum);
    reduced[k] = reducer(accums[k] || initial, datum);
  }
  return reduced;
};
Или можешь подключить https://ramdajs.com, там она из коробки

Исходная версия deadNightTiger, :

Напиши себе такую функцию:

const reduceBy = (reducer, initial, key) => (data) => {
  const reduced = {};
  for (const datum of data) {
    const k = key(datum);
    reduced[k] = reducer(reduced[k] || initial, datum);
  }
  return reduced;
};
Или можешь подключить https://ramdajs.com, там она из коробки