我试图了解以下解决方案,以找到任何给定数组中的最大相邻产品。查找阵列中最大的相邻产品(JavaScript)
实例:JS
For inputArray = [3, 6, -2, -5, 7, 3], the output should be
adjacentElementsProduct(inputArray) = 21.
7 and 3 produce the largest product.
可能的解决方案:
function adjacentElementsProduct(arr) {
return Math.max(...arr.slice(1).map((x,i)=>[x*arr[i]]))
}
我有一个很难理解两件事情:
什么做的三个点正好做,这是如何传递给函数的?有没有什么方法可以用更容易理解的方式写出来?我知道这是ES6中的某种“传播”功能,但仍然不完全理解。
为什么我们插入“1”作为参数切片?我的第一个选择是输入“0”,因为我们想从头开始,然后遍历所有内容,看看哪个相邻产品是最大的。
我会很感激任何建议,链接和解释。
谢谢。
干杯!
1 - 阅读波及文档,或transpile到ES5,看看它做什么[这里transpiled](http://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=假预置= ENV和目标=浏览器= BUILTINS =假调试=假实验值=真松=假规格=真code_lz = GYVwdgxgLglg9mABAQwCYCtkQKZigUQBtsBbXKAZwAUAnOVEaACmRpoEpEBvAKEURrYoIGkgCyyKAAsAdCWQAPJjJWsaMioRg4mARnZzkAByZMFAGhjsAvAD4A2goBUa-zAC679ux4BfIA),2 - 因为* N *数组中的项目,要检查* N - –