3.3 KiB
3.3 KiB
title | localeTitle |
---|---|
Nesting For Loops | 嵌套循环 |
嵌套循环
如果卡住,请记得使用Read-Search-Ask。尝试配对程序:半身像_在_剪影:并编写自己的代码:铅笔:
:checkered_flag: 问题说明:
如果您有一个多维数组,则可以使用与先前路点相同的逻辑来遍历数组和任何子数组。
这是一个例子:
var arr = [
[1,2], [3,4], [5,6]
];
for (var i=0; i < arr.length; i++) {
for (var j=0; j < arr[i].length; j++) {
console.log(arr[i][j]);
}
}
这个输出在每个子元件arr
一次一个。注意,对于内部循环,我们检查arr [i]的长度,因为arr [i]本身就是一个数组。
- 修改函数
multiplyAll
,使其乘以product
变量乘以arr
的子数组中的每个数字。 - 确保第二个for循环嵌套在第一个中。
相关链接
:speech_balloon:提示:1
确保检查length
而不是整个阵列。
现在尝试解决问题
:speech_balloon:提示2
在乘以产品时同时使用i
和j
。
现在尝试解决问题
:speech_balloon:提示3
当您将子数组与product
变量相乘时,请记住使用arr[i]
。
现在尝试解决问题
提前解决!
:初学者: 基本代码解决方案:
function multiplyAll(arr) {
var product = 1;
// Only change code below this line
for(var i=0; i < arr.length; i++){
for (var j=0; j < arr[i].length; j++){
product = product * arr[i][j];
}
}
// Only change code above this line
return product;
}
// Modify values below to test your code
multiplyAll([[1,2],[3,4],[5,6,7]]);
:rocket: 运行代码
代码说明:
- 我们检查的长度
arr
在i
的for循环和arr[i]
在长度j
for循环。 - 我们将
product
变量自身乘以因为它等于1,然后将它乘以子数组。 - 要乘的两个子阵列是
arr[i]
和j
。
:剪贴板: 供稿说明:
- :警告: 请勿添加与任何现有解决方案类似的解决方案。如果您认为它相似但更好,那么尝试合并(或替换)现有的类似解决方案。
- 添加解决方案的说明。
- 将解决方案分为以下类别之一 - 基本,中级和高级。 :红绿灯:
- 如果您添加了任何相关的主要内容,请仅添加您的用户名。 (:警告: _不要_删除任何现有的用户名)
请参阅:point_right: Wiki挑战解决方案模板以供参考。