`
小野马儿
  • 浏览: 15598 次
社区版块
存档分类
最新评论

for循环

 
阅读更多

 一、for循环:最鲜明的特点是将一段代码循环执行指定的次数, 使用 for 循环时,如果我们知道需要循环执行的次数,我们在for循环中最常用到的变量名是'i'。

 

//  for循环的语法:结合下面流程图理解(每次循环的执行顺序为:1-2-4-3, 1-2-4-3, ...)

for (1初始化表达式;2条件表达式;3更新表达式)
{
    4循环体函数
}

//  语法拆解

for (变量=初始值;变量<=最终值;变量=变量+步进值)
{
    需要执行的代码块
}
 for循环的流程图: for loop

 

例如:

 

//定义一个循环程序,这个程序中 i 的起始值为 0。每执行一次循环,i 的值就会累加 1,循环一直重复执行,直到 i 等于 10 停止
for (var i=0; i<10; i++){
    console.log( i )
}
 for循环的处理过程:

 

1.在for循环的第一个表达式中对循环变量'i'进行初始化,

2.在第二个表达式中判断循环变量'i'的值是否符合循环条件,

3.如果不符合条件,则循环结束。

4.如果符合条件,首先去执行for循环中的代码块,然后在第三个表达式中对循环变量进行更新。继续下一轮循环。

二,for循环有两种方法:嵌套使用;并列使用

       1, 嵌套使用:当我们遇到相对复杂的数据时,使用for循环的嵌套使数据拆分到最小单位并访问,若只或去满足条件的数据,那么在for循环里需要嵌套if语句。

       并列使用:即用两个或多个for循环,每个for之间是独立使用的。

分析具体题目中for循环的并列使用。

   2,举例说明:

        for循环的嵌套使用:

已知存储10名学生的各科成绩的数组all_scores

all_scores = [[131,143,144],
    [131,135,144],
    [127,139,142],
    [123,148,136],
    [126,135,140],
    [129,133,138],
    [116,143,140],
    [114,142,139],
    [115,139,135],
    [116,142,129]];
    遍历all_scores获取到每个学生的各科成绩all_scores[i];遍历all_scores[i]获取到每个学生的每科成绩;通过比较所有学生的所有成绩获取成绩的最高值,赋值给变量highest_score。
解答过程:
var all_scores = [[131,143,144],
    [131,135,144],
    [127,139,142],
    [123,148,136],
    [126,135,140],
    [129,133,138],
    [116,143,140],
    [114,142,139],
    [115,139,135],
    [116,142,129]];
var highest_score = all_scores[0][0];
//使用for循环求这10名学生中所有科目的最高分
for(var i=0;i<all_scores.length;i++)//遍历all_scores获取到每个学生的各科成绩
{
    for(var j=0;j<all_scores[i].length;j++)//遍历all_scores[i]获取到每个学生的每科成绩
    {
        if(highest_score<all_scores[i][j])//比较所有学生的所有成绩获取成绩的最高值,
                                                                    赋值给变量highest_ score
        {
            highest_score=all_scores[i][j];
        }
    }
}
//打印这10名学生所有科目的最高分
console.log('这10名学生所有的最高分为:'+highest_score);
 

       for循环的并列使用:

 已知学生成绩为哈希表stu_scores(键->学生姓名;值->学生成绩) 

 

stu_scores = {'杨璐':131,
    '王雪':131,
    '韩林霖':127,
    '沙龙逸':123,
    '李鉴学':126,
    '韩雨萌':129,
    '刘帅':116,
    '康惠雯':114,
    '刘钰婷':115};

 

       根据学生的姓名数组stu_names,将学生成绩全部取出存入到scores数组中。

stu_names = ['杨璐',
    '王雪',
    '韩林霖',
    '沙龙逸',
    '李鉴学',
    '韩雨萌',
    '刘帅',
    '康惠雯',
    '刘钰婷'];

 

    

//给数组scores添加数据
scores.push('xxx');

       遍历成绩数组scores,获取最高成绩,赋值给变量highest_score。

      解题代码过程:

 

var stu_scores = {'杨璐':131,
    '王雪':131,
    '韩林霖':127,
    '沙龙逸':123,
    '李鉴学':126,
    '韩雨萌':129,
    '刘帅':116,
    '康惠雯':114,
    '刘钰婷':115};
var stu_names = ['杨璐',
    '王雪',
    '韩林霖',
    '沙龙逸',
    '李鉴学',
    '韩雨萌',
    '刘帅',
    '康惠雯',
    '刘钰婷'];
var scores = [];
//使用for循环取出成绩数组,打印所有成绩,找到做高分
//获取所有学生的分数(只包含学生分数不包含学生姓名)存到scores中
for(var i=0;i<stu_names.length;i++)
{
 scores.push(stu_scores[stu_names[i]])
}
var highest_score = scores[0];
//使用for循环找出学生成绩的最高分
for(var j=0;j<scores.length;j++)
{
if(highest_score<scores[i])
{
highest_score=scores;
}
}
//两个for循环都在各自代码块里发挥作用,互不影响
console.log('学生成绩的最高分:'+highest_score);

    5,小结:

    要熟练使用for循环

    注意区别使用for循环的嵌套使用和并列使用。

    for循环的嵌套使用时,多个for循环之间是相互作用的;而for循环的并列使用时,多个for循环之间是独立作用的。

  

       

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics