for循环,for循环嵌套

article/2025/9/24 3:31:29

for循环

for(var i = 0;i<10;i++)
for循环用于遍历对象,并将对象中的数拿出来

for循环的括号里用两个分号把它分成了三个部分,第一部分是循环变量,第二部分是循环的判断条件,第三部分是变量的变化规律(即每循环一次变量i的变化情况)。

for(var i = 0; i <10;i++){
console.log(i)
}

让我一步步的解析
首先 我var了一个 i 的变量并使它初始值等于0--------接着使 i <10, 最后i ++ 表示每次循环结束 i 自增 一

所以很好理解了,第一次循环时 ,i = 0, 判断 i <10没错,所以循环继续执行,(记住,这里每次i 必须要符合你第二个给的判断条件,只有它符合这个人条件这循环才能继续执行,不然就会停止循环),输出第一个数就为 0,接着i++ ,0自增1等于1吧,这个应该不用多说,所以1进入循环,判断1 < 10 没错,所以第二个数出来了为2,接下来又自增1,2自增一3 进入循环。。。。。。然后一直到 i = 9 的时候,输出9,在自增时为10,已经10 < 10 错误,所以循环结束
所以输出结果我们看下
在这里插入图片描述
这只是最简单的,接下来我们来个有点难度的
求1+2+3+4+。。。。+99的和
这个题我们应该怎么看呢,首先我们如果用数学的方法来做,肯定都会是吧,把每个数字拿出来然后相加,那么其实逻辑都一样
我们也是需要先把1-99之间的数字都先拿出来吧,那么用什么方法呢,for循环吧,遍历数组,拿出1-99之间的每个数,那么好,我们看

for(var b = 1;b<100;b++){

 }

是这样吧,没错,至于这里var b 为什么不等于0呢,我们初始值是从1开始加的吧,不是0,所以初始值等于1,好接下来我们这样输出一下看看是什么结果
在这里插入图片描述
我们可以看到他输出了1-99之间的数字吧,并不是我们想要的结果,那么怎么办呢。。。。。给他条件
找规律啊,1-99相加规律就是 (b*(b+1))/2 这个是吧
所以我们在输出结果之前加一个这个条件就行了或则consle 输出的时候不要输出b 输出这个公式也可以
for(var b = 1;b<100;b++){

    var a = (b*(b+1))/2console.log(a)}

//
for(var b = 1;b<100;b++){

  console.log((b*(b+1))/2)

}
上下2种都可以

for循环有很多种用法,它里面可以套if 语句,也可以在套for循环等等都可以,所以我们在看几个套 if 语句的列子

求100之间的奇偶数
首先我们需要知道什么是奇数与偶数,偶数-------可以被2整除的数--------%2=0 (除以2余数为0),奇数-----不能被2整除的数----%2=1(除以2余数为1),知道了他们的规律那么就非常好做了

首先还是一样取出1-100之间所以的数吧,然后给他一个判断条件,如果输出结果除以2余数为0的时候,就输出偶数,剩下的不是偶数就是奇数了,不算非奇非偶的话,如果非要算,在添加条件即可
for(var a = 1;a<=100;a++){
if(a%2==0){
document.write(a+‘偶数’)

    }else{document.write(a+'奇数')}}  
// 最大公约数var m =parseInt(window.prompt('input'))var n =parseInt(window.prompt('input'))var a = 1;for(i=1;i<=m && i<=n && m<=n;i++){if(m%i==0 && n%i==0){a = i}   }document.write(a)

// 最小公倍数
var m =parseInt(window.prompt(‘input’))
var n =parseInt(window.prompt(‘input’))
for ( var i = 1; i <= m * n ; i++) {

if(i % m == 0 && i % n == 0) {

console.log(i);
break;
  }

}

for in

for 。。。 in 。。可以遍历对象或数组的显性属性,也就是说我们自己定义的属性是可以遍历的,那些原型上默认已有的属性,例如:Object.prototype.toString、Object.prototype.hasOwnProperty 是遍历不出来的。

表达式 for(变量名 表示数组中索引值 in 数组名)

比如
var arr = [‘aa’,12,true,{},[‘aa’],null];

要想取出数组中所有的数

for(i in arr){
console.log(arr[i]) //-------arr[i] 表示数组索引值所对应的数,比如 i = 1 ,arr[i] 对应数组中索引值为1的数-----就是12
}
当然这题也可以用for循环来做也是一样的

for(var i = 0;i<arr.length;i++){
console.log(arr[i])
// arr[0]----‘aa’
//arr[1]-----12
//arr[2]----true
//…
//最后一次
// arr[arr.length-1]// null
}

        var xiaoming = {name: "小明",age: 42,sex: "男"}for(var key in xiaoming){alert(key + ", " + xiaoming[key]);}

这里的 key 不像利用for循环遍历数组时的下标 1、 2、 3 了,这里它是对象的属性名,他也被称为下
下标,也可以用下标的方式,访问对象中的第几个属性。
我们都知道小标都用 [ ] 表示,所以这里访问第几个对象属性的属性值时,也可以用 对象[下标] 来访问。

【注】在对象中 . 是和 [ ] 的意思是一样的。例 xiaoming.name 等价于 xiaoming[name] , 但是for…in遍历下标中不能混淆, xiaoming[key] 可不等价与 xiaoming.key 。在 xiaoming[key] 中 key等于 每一次遍历的 name,age,sex等。 而xiaoming.key 就相当于访问xiaoming对象的key属性。很明显这里没有定义。

for in 中可以嵌套for循环 也可以嵌套for in

首先,for in 只能遍历出一层,像下面的题目我们需要的是输出(胡小威,20,true,赵小亮,22,false)这几个字符串,而for in 一次的话,它遍历只能遍历出2对象
var arr = [{“name”:“胡小威” , “age”:20 , “male”:true},{“name”:“赵小亮” , “age”:22 , “male”:false}]
for(x in arr){
console.log(arr[x])
}
看输出
在这里插入图片描述
所以我们需要在套一层for in

    for(x in arr){for(y in arr[x]){console.log(arr[x][y])}}

在这里插入图片描述
我们可以看到输出的结果就是我们需要的,这就是 for in 的2层嵌套,
/ for 。。。in 便利的数据
// 。。。。可以为任意的数据 赋值为对象中的属性
// 便利的对象,你只需要去除那个对象中所有的数据

// for x in obj obj表示便利的对象 x 表示属性
// x 有多个属性, 那么就执行多少次循环
数组下嵌套数组也叫多维数组
遍历方式: for的嵌套,最好不要超过5层,如果超过5层,如果超过5层,那就会崩溃

for(x in obj)
var arr = [['name',1,2,3,4,5,6,2,3,3,333],['form','aa','dcc',22],['dd',1,2,3,44,55]] // 遍历第一遍数组/*arr[0]---->['name',1,2,3,4,5,6,2,3,3,333]---在辨别能力在第一层基础上在遍历数组----->'name',1,2,3,4,5,6,2,3,3,333arr[1]---->['form','aa','dcc',22]在第一层基础上在遍历数组----->'form','aa','dcc',22arr[2]---->['dd',1,2,3,44,55]在第一层基础上在遍历数组----->'dd',1,2,3,44,55*/

最后附上一张笔记的理解,当然是我盗图的哈哈,我觉得写的挺明白的在这里插入图片描述


http://chatgpt.dhexx.cn/article/kbyOgQF8.shtml

相关文章

Java for循环和Java for循环嵌套详解

for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下&#xff0c;for 循环可以代替 while 循环、do while 循环。 for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假&#xff0c;那么它的循环语句根本不会执行。for 语句…

Java for循环嵌套for循环,你需要懂的代码性能优化技巧

前言 本篇分析的技巧点其实是比较常见的&#xff0c;但是最近的几次的代码评审还是发现有不少兄弟没注意到。 所以还是想拿出来说下。 正文 是个什么场景呢&#xff1f; 就是 for循环 里面还有 for循环&#xff0c; 然后做一些数据匹配、处理 这种场景。 我们结合实例代码来…

Java for循环嵌套

一、需求 需求1&#xff1a;打印以下图形 **** **** **** for(int i 0;i<3;i){//控制行数for(int j 0;j<4;j){//控制列数System.out.print("*");}System.out.println(); } 需求2&#xff1a;打印以下图形 …

C语言for循环语句及嵌套(误区,易错点要理解)

目录 前言 例题1&#xff1a; 例题2&#xff1a; for循环中contiune的使用&#xff1a; 前言 大家好&#xff0c;相信刚学C语言的小白们&#xff0c;觉得for循环是比较好用的&#xff0c;但是有时候写for循环语句的程序时&#xff0c;写出来的代码结果&#xff0c;和自己想要…

for循环嵌套

文章目录 一、什么是循环嵌套&#xff1f;二、实例1.输出一个矩阵2.输出九九乘法表 一、什么是循环嵌套&#xff1f; 外层循环和内层循环交叉执行&#xff0c;外层 for 每执行一次&#xff0c;内层 for 就要执行符合循环条件的次数。 二、实例 1.输出一个矩阵 代码如下&…

44. python的for循环嵌套

44. python的for循环嵌套 文章目录 44. python的for循环嵌套1. 什么是嵌套2. for循环中嵌套有if条件判断语句2.1 先创建一个奇数序列2.2 判断一个数是否能被7整除2.3 将2部分代码合二为一 3. for循环中嵌套有for循环 1. 什么是嵌套 嵌套是指一个对象中包含另一个与它相似的对象…

【C语言初学必看】一知半解的for循环嵌套for循环

&#x1f525;&#x1f680;前言目录&#xff1a; 初学C语言&#xff0c;常常遇到for循环中嵌套个for循环&#xff0c;初学者对于这种形式总是一知半解&#xff0c;这次我就整理了常见的for循环嵌套for循环的题目&#xff0c;我们一起争取一举拿下这类题。学废他们&#xff0c;…

双重for循环(嵌套for循环)

什么是双重循环&#xff1f; 双重循环&#xff1a;我们从字面上理解它&#xff0c;就是有两个循环套在一起 详细解释 双重for循环就是在一个for循环里在嵌套另一个for循环&#xff0c;即两个循环嵌套&#xff0c;还有多重循环嵌套的情况&#xff0c;但用的比较少&#xff0c…

DRN ---Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution

Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution 这篇博客主要介绍一下DRN&#xff0c;这是2020年最新出来超分辨重建文章。相信大家都阅读过很多超分辨率的文章&#xff0c;都知道超分辨率是一病态的问题。因为在现实生活中一张低分辨率图…

深度学习——Dual Regression Networks for Single Image Super-Resolution(DRN)

CVPR2020原论文&#xff1a;Closed-loop Matters: Dual Regression Networks forSingle Image Super-Resolution 开源代码&#xff08;pytorch框架&#xff09;&#xff1a;https://github.com/guoyongcs/DRN 1.问题 1&#xff09;低分辨率图像&#xff08;Low Resulotion&…

DRN(CVPR2020)Dual Regression Networks

DRN: [ Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution ]DRN文论链接 SISR两个潜在的局限 学习LR到HR的隐射是一个病态问题&#xff0c;因为从HR下采样到LR&#xff0c;可以有无限个HR与LR对应。所以解空间太大&#xff0c;很难找到很好的…

DRN:Dilated Residual Networks(论文解读十四)

Title&#xff1a;Dilated Residual Networks From&#xff1a;CVPR2017 Note data&#xff1a;2019/06/12 Abstract&#xff1a;提出一种有利于分类任务的扩张残差网络DRN。 Code &#xff1a;pytorch 目录 DRN论文解读 1 Abstra 2 Introduction 3 Method Degridding …

浅谈深度神经网络 — ResNet(DRN)

Deep Residual Learning for Image Recognition 1. 思想 作者根据输入将层表示为学习残差函数。实验表明&#xff0c;残差网络更容易优化&#xff0c;并且能够通过增加相当的深度来提高准确率。 核心是解决了增加深度带来的副作用&#xff08;退化问题&#xff09;&#xff0…

深度学习——BRNN和DRNN

双向循环神经网络&#xff08;Bidirectional RNN&#xff09; 双向 RNN 模型可以让你在序列的某点处不仅可以获取之前的信息&#xff0c;还可以获取未来的信息 why we need BRNN&#xff1f; 这个网络有一个问题&#xff0c;在判断第三个词 Teddy&#xff08;上图编号 1 所示&a…

DPRNN的学习

可以以非常简单的方式组织任意类型的RNN层&#xff08;不重要&#xff0c;因为我这里会换成transformer&#xff09;。 优点&#xff1a; 1.模型更小 2.性能更好&#xff08;SI-SNR&#xff09; 模型组成&#xff1a; 首先肯定是encoder和decoder了&#xff0c;一个声音的…

drndrn_seg代码

问题&#xff1a; drn文件 import pdb #pdb是 ThePythonDebugger 的缩写&#xff0c;为Python标准库的一个模块。pdb模块规定了一个Python程序交互式源代码调试器&#xff0c;支持在设置断点&#xff08;包括条件断点&#xff09;&#xff0c;也支持源码级单步调试&#xff…

深度学习——DRD-Net

CVPR2020原论文&#xff1a;Detail-recovery Image Deraining via Context Aggregation Networks 开源代码&#xff08; tensorflow框架&#xff09;&#xff1a;https://github.com/Dengsgithub/DRD-Net 1.主要工作&#xff1a;提出了双分支去雨网络。一个分支为基于压缩激励…

论文阅读:DRN: A Deep Reinforcement Learning Framework for News Recommendation

文章目录 摘要一、Introduction1、引入原因2、结构框架 二、相关工作1、新闻推荐算法2、推荐中的强化学习3、问题定义 三、实现原理1、模型框架2、特征构造3、深度强化推荐Deep Reinforcement Recommendation4、用户活跃度5、探索 四、实验结果1、数据集2、评价指标3、实验设置…

使用飞桨PaddlePaddle复现用于图像光源处理的深度重照明网络(DRN)

使用飞桨PaddlePaddle复现用于图像光源处理的深度重照明网络&#xff08;DRN&#xff09; 一、效果展示二、实现思路冠军模型&#xff1a;Wavelet Decomposed RelightNet (WDRN)经典模型&#xff1a;Norm-Relighting-U-Net (NRUNet)本次项目&#xff1a;Deep Relighting Networ…

弱监督学习框架 Detectron2/DRN-WSOD-pytorch 在服务器/windows上配置安装及使用

最近做弱监督学习研究&#xff0c;进行相关分析。发现Detectron2是一个不错的框架&#xff0c;其中也有model zoo相当多种类的预训练模型可以拿来直接用。但是安装配置使用中碰到了许多坑。跟各位小伙伴们分享。 推荐使用Linux Ubuntu16.04以上版本安装&#xff0c;虚拟机不太…