JSFiddle - React, Tailwind, and code Playground
by tigeral
JavaScript
src = new Map([[1, 2], [2, 2], [3, 2.2], [4, 2.1], [5, 2.3], [6, 2], [7, 1.9]]);
dst = new Map();
step = 2
sum = 0;
count = 0;
lastDstIndex = 0;
for (const [si, sv] of src.entries()) {
di = Math.ceil(si / step)
if (di != lastDstIndex && count > 0) {
dst.set(lastDstIndex, sum/count);
lastDstIndex = di;
sum = 0;
count = 0;
}
sum += sv;
count ++;
}
if (count > 0) {
dst.set(lastDstIndex, sum/count);
}
for (const e of dst.entries())
console.log(e);