function productsNConsecutiveItems(arr, nConsecutiveItems) {
const products = [];
if (nConsecutiveItems <= 0 || arr.length < nConsecutiveItems) {
return products; // empty
}
const outSize = arr.length - nConsecutiveItems + 1;
for (let i = 0; i < outSize; i++) {
let prod = 1;
// Multiply arr[i] * arr[i+1] * ... * arr[i+nConsecutiveItems-1]
for (let j = 0; j < nConsecutiveItems; j++) {
prod *= arr[i + j];
}
products.push(prod);
/*
* Example for nConsecutiveItems = 3:
* 2 * 3 * 4 = 24
* 3 * 4 * 5 = 60
* 4 * 5 * 6 = 120
* 5 * 6 * 7 = 210
* 6 * 7 * 8 = 336
* 7 * 8 * 9 = 504
* 8 * 9 * 10 = 720
*/
}
return products;
}
const arr = [2, 3, 4, 5, 6, 7, 8, 9, 10];
const n = 3;
console.log(productsNConsecutiveItems(arr, n));
/*
run:
[
24, 60, 120,
210, 336, 504,
720
]
*/