#わーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ちなみに葦手入力では「イカロ」で出せる。
RE: https://voskey.icalo.net/notes/9e9fn66tbx
この投稿では、JavaScript の基本: ネストした for ループ | freeCodeCamp.orgの解を著し殘す。
【解】
function multiplyAll(arr) {
let product = 1; // 1. 初期値として、積を1に設定
for (let i = 0; i < arr.length; i++) { // 2. arr配列の各補助配列につきて繰り返し
for (let j = 0; j < arr[i].length; j++) { // 3. 補助配列の各要素につきて繰り返し
product *= arr[i][j]; // 4. 積を計算し、productに乘算
}
}
return product; // 5. 積を返す
}
console.log(multiplyAll([[1], [2], [3]])) //テスト1. 6を返す
console.log(multiplyAll([[1, 2], [3, 4], [5, 6, 7]])) //テスト2. 5040を返す
console.log(multiplyAll([[5, 1], [0.2, 4, 0.5], [3, 9]])) //テスト3. 54を返す
product
變數を初期値 1
で初期化する。これは、後で要素の積を計算する際に、積が 0
にならないようにするためだ。for (let i = 0; i < arr.length; i++)
で、配列 arr
の各補助配列について繰り返しを行ふ。i
が 0
に設定され、arr[0]
の補助配列 [1, 2]
が選択される。次に、i
が 1
に設定され、arr[1]
の補助配列 [3, 4]
が選択される。最後に、i
が 2
に設定され、arr[2]
の補助配列 [5, 6, 7]
が選択される。for (let j = 0; j < arr[i].length; j++)
で、現在の補助配列の各要素につきて繰り返しを行ふ。j
が 0
に設定され、arr[0][0]
の要素 1
が選択される。j
が 1
に設定され、arr[0][1]
の要素 2
が選択される。j
が 0
に設定され、arr[1][0]
の要素 3
が選択される。j
が 1
に設定され、arr[1][1]
の要素 4
が選択される。j
が 0
に設定され、arr[2][0]
の要素 5
が選択される。j
が 1
に設定され、arr[2][1]
の要素 6
が選択される。j
が 2
に設定され、arr[2][2]
の要素 7
が選択される。product
變數に乘算してゆく。product
に 1
が入りてゐるので、1 * 1
が計算され、product
は 1
となる。1 * 2
が計算され、product
は 2
となる。2 * 3
、6 * 4
、24 * 5
、120 * 6
、720 * 7
が計算され、最終的に product
は 5040
となる。product
の値である 5040
が return
文によって返される。multiplyAll([[1, 2], [3, 4], [5, 6, 7]])
は 5040
を返す。