我试图了解以下解决方案,以在任何给定数组中查找最大的相邻产品。
例子:
For inputArray = [3, 6, -2, -5, 7, 3], the output should be
adjacentElementsProduct(inputArray) = 21.
7 and 3 produce the largest product.
JS中可能的解决方案:
function adjacentElementsProduct(arr) {
return Math.max(...arr.slice(1).map((x,i)=>[x*arr[i]]))
}
我很难理解两件事:
这三个点到底做了什么,它是如何传递到函数中的?有没有办法以更容易理解的方式写这个?我知道这是 ES6 中的“扩展语法”功能,但仍然不完全理解。
为什么我们插入“1”作为切片的参数?我的第一个想法是输入“0”,因为我们想从头开始,然后遍历所有内容,看看哪个相邻的产品是最大的。
我将不胜感激任何建议、链接和解释。
谢谢。
干杯!