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