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);