Как перемножить элементы массива:
const mul = arr => arr.reduce((acc, n) => acc * n, 1);
// или
const mul = arr => eval(arr.join('*')) ?? 1;
// или
function mul(arr) {
let result = 1;
for (const n of arr) {
result *= n;
}
return result;
}
// или
function mul(arr) {
let result = 1;
for (let i = 0; i < arr.length; i++) {
result = result * arr[i];
}
return result;
}
// или
const mul = (arr, i = 0) => i < arr.length ? arr[i] * mul(arr, -~i) : 1;
Бежим по массиву с количествами элементов, получаем из массива с данными подмассивы указанной длины, перемножаем их содержимое:
const result = count.map(function(n) {
return mul(data.slice(this[0], this[0] += n));
}, [ 0 ]);
Или, если массив с данными больше не понадобится, можно всегда вырезать у него из начала указанное количество элементов:
const result = count.map(n => mul(data.splice(0, n)));