arrayOfProduct
/**
* Write a function that takes in a non-empty array of integers and returns an array of same length,
* where each element in the output array is equal to the product of every other number in the input array.
*/
export default function arrayOfProduct(arr) {
const products = new Array(arr.length).fill(1);
let leftRunningProduct = 1;
for (let i = 0; i < arr.length; i++) {
products[i] = leftRunningProduct;
leftRunningProduct *= arr[i];
}
let rightRunningProduct = 1;
for (let i = arr.length - 1; i >= 0; i--) {
products[i] *= rightRunningProduct;
rightRunningProduct *= arr[i];
}
return products;
}
// Input
// array=[5, 1, 4, 2]
// Output
// [8, 40, 10, 20]