案例方式学习JavaScript双重for循环

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了案例方式学习JavaScript双重for循环相关的知识,希望对你有一定的参考价值。

先给大家分享一些JavaScript的相关资料:


一、双重for循环概述

很多情况下,单层 for 循环并不能满足我们的需求,比如我们要打印一个 5 行 5 列的图形、打印一个倒直角三角形等,此时就可以通过循环嵌套来实现。

循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如在for循环语句中,可以再嵌套一个for 循环,这样的 for 循环语句我们称之为双重for循环

二、双重for循环语法

for (外循环的初始; 外循环的条件; 外循环的操作表达式) 
    for (内循环的初始; 内循环的条件; 内循环的操作表达式)   
       需执行的代码;
   

  • 内层循环可以看做外层循环的语句
  • 内层循环执行的顺序也要遵循 for 循环的执行顺序
  • 外层循环执行一次,内层循环要执行全部次数

2.1 打印五行五列行星

核心:

内层循环负责一行打印五个星星

外层循环负责打印五行

代码:

var star = '';
for (var j = 1; j <= 3; j++) 
    for (var i = 1; i <= 3; i++) 
      star += '☆'
    
    // 每次满 5个星星 就 加一次换行
    star += '\\n'

console.log(star);

课堂案例 1: 打印 n 行 n 列的星星

要求用户输入行数和列数,之后在控制台打印出用户输入行数和列数的星星。

要求用户输入行数和列数,之后在控制台打印出用户输入行数和列数的星星。

实现代码

var row = prompt('请输入您打印几行星星:');
var col = prompt('请输入您打印几列星星:');
var str = '';
for (var i = 1; i <= row; i++) 
   for (j = 1; j <= col; j++) 
       str += '☆';
   
   str += '\\n';

 console.log(str);

课堂案例 2:打印倒三角形

案例分析:

  • 一共有10行,但是每行的星星个数不一样,因此需要用到双重 for 循环
  • 外层的 for 控制行数 i ,循环10次可以打印10行
  • 内层的 for 控制每行的星星个数 j
  • 核心算法: 每一行星星的个数 j = i ; j <= 10; j++
  • 每行打印完毕后,都需要重新换一行

实现代码

var row = prompt('请输入您打印几行星星:');
var col = prompt('请输入您打印几列星星:');
var str = '';
for (var i = 1; i <= row; i++) 
   for (j = 1; j <= col; j++) 
       str += '☆';
   
   str += '\\n';

 console.log(str);

思考:打印正三角形

课堂案例3: 打印九九乘法表

案例分析

一共有9行,但是每行的个数不一样,因此需要用到双重 for 循环

外层的 for 循环控制行数 i ,循环9次 ,可以打印 9 行

内层的 for 循环控制每行公式 j

核心算法:每一行 公式的个数正好和行数一致, j <= i;

每行打印完毕,都需要重新换一行

把公式用 i 和 j 替换

实现代码

var str = ''
for (var i = 1; i <= 9; i++)  //  外层for控制 行数  9行
    for (var j = 1; j <= i; j++)  // j 控制列数    列数和行数是一样的  j <= i  
        str += j + " × " + i + " = " + i * j + '\\t';
    
    str += '\\n';

console.log(str);

三、for循环小结

  • for 循环可以重复执行某些相同代码
  • for 循环可以重复执行些许不同的代码,因为我们有计数器
  • for 循环可以重复执行某些操作,比如算术运算符加法操作
  • 随着需求增加,双重for循环可以做更多、更好看的效果
  • 双重 for 循环,外层循环一次,内层 for 循环全部执行
  • for 循环是循环条件和数字直接相关的循环
  • 分析要比写代码更重要
  • 一些核心算法想不到,但是要学会,分析它执行过程
  • 举一反三,自己经常总结,做一些相似的案例

黑马前端专栏干货多多,关注再学,好方便~

2022年前端学习路线图:课程、源码、笔记,技术栈  另外此线路图实时更新!需要课后资料的友友们,可以直接告诉我。

 

以上是关于案例方式学习JavaScript双重for循环的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript基础——for循环小案例

双重循环的嵌套执行原理

IT兄弟连 Java语法教程 流程控制语句 循环结构语句2

Javascript从“繁”到“简”进行数组去重

JavaScript循环语句-6

21.使用双重循环打印图形