const weakMap = new WeakMap();
const arr = [1, 2, 4, 8];
const objs = arr.map(n => ({ n }));
objs.forEach((obj, index) => weakMap.set(obj, arr.slice(0, index + 2)));
const result = objs.map(obj => weakMap.get(obj).reduce((acc, num) => acc + num, 0));
console.log(result);
Ответ: [ 3, 7, 15, 15 ]
JavaScript test | #JavaScript