当前位置: 首页 > news >正文

关于for循环的简单归纳

关于for循环,我常常会混淆,在此做一下梳理。

1、for循环

最原始的遍历,获得数组里的值。

var arr1 = [1, 2, 3];
for(var i = 0 ; i< arr1.length; i++){
  console.log(arr1[i]);
}
2、for……in

for……in,遍历对象的属性名称,键名key。在数组中,每个元素的下标索引被视为数组的属性名称。所以用for……in遍历数组时,实际上获得的值是索引值。

var arr = ["Hello", "world"];
arr.name = "index";
for (var k in arr){
  console.log(k);   // 0,1,name
  console.log([arr[k]); // 属性对应的值 "Hello", "world"
}
console.log(arr.length); // 2

从结果,我们可以看到,当你为arr添加一个新的属性名:name时,遍历时,会把这个属性包括在内,但是,arr.length还是原来的。

3、for……of(ES6新增的循环语法)

for……of,遍历对象的属性值,键值value。它只循环集合本身的元素

var arr = ["Hello", "world"];
arr.name = "index";
for (var k in arr){
  console.log(k);   // Hello, world
}
console.log(arr.length); // 2

同时,for……of支持遍历其他集合,如字符串、Set和Map对象。再有,它不同于forEach,可以使用 break 语句跳出循环,也可以使用 continue 和 return 语句。

4、forEach

forEach其实是for循环的简化版,适合于循环次数未知情况下使用。foreach 方法没办法使用 break 语句跳出循环,也无法使用return从函数体内返回。

相关文章:

  • MongoDB介绍
  • call apply 和 bind
  • PHP如何在CLI命令模式下连接Postgresql
  • tp5.1 路由获取参数问题总结
  • PIE SDK自定义滤波
  • 关于一对一视频聊天系统的那些干货必备知识
  • python中英文书籍汇总,总有一本是你想要的
  • NeoVim初识
  • redis 系列20 服务器上
  • 非spring框架下使用querydsl
  • Java注解的基本概念和原理及其简单实用
  • Android Studio自定义组合控件
  • 在.Net Micro Framework中使用DPWS
  • PIC16F877A 内部EEPROM读写实验利用内部函数
  • 如何让DevExpress的DateEdit控件正确显示日期的周名
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • CentOS 7 防火墙操作
  • cookie和session
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Java比较器对数组,集合排序
  • Joomla 2.x, 3.x useful code cheatsheet
  • vagrant 添加本地 box 安装 laravel homestead
  • vue中实现单选
  • Webpack 4 学习01(基础配置)
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 判断客户端类型,Android,iOS,PC
  • 前端自动化解决方案
  • 使用common-codec进行md5加密
  • No resource identifier found for attribute,RxJava之zip操作符
  • FaaS 的简单实践
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #Lua:Lua调用C++生成的DLL库
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (1)Nginx简介和安装教程
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (四)Controller接口控制器详解(三)
  • (译) 函数式 JS #1:简介
  • (原創) 物件導向與老子思想 (OO)
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .gitignore文件设置了忽略但不生效
  • .NET Core引入性能分析引导优化
  • .NET MVC第三章、三种传值方式
  • .NET6实现破解Modbus poll点表配置文件
  • .NET和.COM和.CN域名区别
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解