如何将序列中的所有元素相乘,但在每次迭代中省略当前元素

示例:如果我们有array = [1,2,5,10]; 输出应该是[100,50,20,10];

因此,在每次迭代中转义迭代的当前元素。


月关宝盒
浏览 69回答 2
2回答

白衣染霜花

您可以首先找到总乘积,然后将其除以每次迭代中的当前元素。const arr = [1,2,5,10];const product = arr.reduce((acc,curr)=>acc*curr,1);const res = arr.map(x => product / x);console.log(res);

幕布斯6054654

我的建议[1,2,5,10].map((x, i, arr) => arr.reduce((acc, y, j) => (i !== j) ? acc * y : acc, 1));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript