freeCodeCamp/guide/chinese/certifications/javascript-algorithms-and-d.../basic-javascript/nesting-for-loops/index.md

3.3 KiB
Raw Blame History

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

在乘以产品时同时使用ij

现在尝试解决问题

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 运行代码

代码说明:

  • 我们检查的长度arri的for循环和arr[i]在长度j for循环。
  • 我们将product变量自身乘以因为它等于1然后将它乘以子数组。
  • 要乘的两个子阵列是arr[i]j

:剪贴板: 供稿说明:

  • :警告: 请勿添加与任何现有解决方案类似的解决方案。如果您认为它相似但更好,那么尝试合并(或替换)现有的类似解决方案。
  • 添加解决方案的说明。
  • 将解决方案分为以下类别之一 - 基本,中级和高级。 :红绿灯:
  • 如果您添加了任何相关的主要内容,请仅添加您的用户名。 (:警告: _不要_删除任何现有的用户名

请参阅point_right Wiki挑战解决方案模板以供参考。