Ю
хочу [{date: ’11/10/2020, opened: 6, closed: 24, failed: 315}, {тут уже следующая дата }]
Size: a a a
Ю
SM
sr
Ю
IS
IS
function groupByDate(data) {
const result = {};
for (let { date, opened, closed, failed } of data) {
if (result[date]) {
result[date].opened += opened;
result[date].closed += closed;
result[date].failed += failed;
} else {
result[date] = { opened, closed, failed };
}
}
return Object.entries(result).map(([date, info]) => ({date, ...info}));
}
const data = [{date: '11/10/2020', opened: 5, closed: 10, failed: 3}, {date: '11/10/2020', opened: 1, closed: 14, failed: 312}, {date: '15/10/2020', opened: 11, closed: 14, failed: 2}]
const grouped = groupByDate(data);
console.log(grouped);
типа того, что ли? реализация как топор, кнчн, но тем не менееЮ
IS
IS
IS
IS
function groupByDate(data) {
const result = {};
for (let { date, ...meta } of data) {
if (result[date]) {
Object.keys(result[date]).forEach(key => result[date][key] += meta[key])
} else {
result[date] = meta;
}
}
return Object.entries(result).map(([date, info]) => ({date, ...info}));
}
const data = [{date: '11/10/2020', opened: 5, closed: 10, failed: 3}, {date: '11/10/2020', opened: 1, closed: 14, failed: 312}, {date: '15/10/2020', opened: 11, closed: 14, failed: 2}]
const grouped = groupByDate(data);
console.log(grouped);
sr
Ю
IS
IS
sr
IS
const groupByDate = data => Object.entries(data.reduce((res, { date, ...meta }) => (res[date] ? Object.keys(res[date]).forEach(key => res[date][key] += meta[key]) : res[date] = meta, res), {})).map(([date, info]) => ({date, ...info}));
IS
Ю
IS