JavaScript 中的一个数组中所有其他数字的乘积
假设我们要编写一个函数,该函数采用一个数字数组作为参数。我们必须返回一个新数组,其中包含每个数字的乘积,但不包含当前正在计算乘积的索引。
例如,如果 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 ]
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP