案例方式学习JavaScript双重for循环
Posted 黑马程序员官方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了案例方式学习JavaScript双重for循环相关的知识,希望对你有一定的参考价值。
先给大家分享一些JavaScript的相关资料:
- 认识JavaScript到初体验
- JavaScript 注释以及输入输出语句
- JavaScript变量的使用、语法扩展、命名规范
- JavaScript数据类型简介以及简单的数据类型
- JavaScript获取变量数据类型
- JavaScript 运算符&算数运算符
- JavaScript递增和递减运算符
- JavaScript:比较运算符和逻辑运算符
- JavaScript:赋值运算符以及运算符优先级
- JavaScript 流程控制-实际案例学习if语句
- JavaScript三元表达式&分支流程控制 switch
- JavaScript的for循环学不明白看这篇
一、双重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循环的主要内容,如果未能解决你的问题,请参考以下文章