JavaScript 中数组中所有其他数字的乘积

javascriptweb developmentobject oriented programming

假设,我们必须编写一个以数字数组为参数的函数。我们必须返回一个新数组,其中包含除我们当前正在计算乘积的索引之外的每个数字的乘积。

例如,如果 arr 有 5 个索引,并且我们正在为索引 1 创建值,则索引 0、2、3 和 4 处的数字将相乘。同样,如果我们为索引 2 创建值,则索引 0、1、3 和 4 处的数字将相乘,依此类推。

注意 −保证数组内的所有元素都非零。

我们首先将数组简化为其乘积,然后循环遍历数组以找到该索引的值,我们只需将乘积除以该索引处的原始值即可。

执行此操作的代码为 −

示例

const arr = [12, 10, 8, 6, 5, 2];
const produceArray = (arr) => {
   const product = arr.reduce((acc, val) => acc*val);
   return arr.map(el => {
      return product/el;
   });
};
console.log(produceArray(arr));

输出

控制台中的输出将是 −

[ 4800, 5760, 7200, 9600, 11520, 28800 ]

相关文章