How to multiply every N consecutive items in an array with JavaScript

1 Answer

0 votes
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
]

*/

 



answered Feb 1 by avibootz

Related questions

...