特定の配列で最大の隣接積を見つけるための次の解決策を理解しようとしています。
例:
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]]))
}
私は2つのことを理解するのに苦労しています:
3 つのドットは正確には何をし、これはどのように関数に渡されるのでしょうか? これをもっと分かりやすく書く方法はありますか?それがES6の「拡散構文」機能であることは知っていますが、まだ完全には理解していません。
スライスの引数として「1」を挿入するのはなぜですか? 最初に「0」を入力しました。これは、最初から開始し、すべてをループして、どの隣接する製品が最大かを確認するためです。
アドバイス、リンク、説明をいただければ幸いです。
ありがとう。
乾杯!