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

foreach、for in和for of的区别?

foreachfor...infor...of是三种不同的循环结构,它们在JavaScript中用来遍历数组或对象的属性。它们有一些重要的区别,以及各自的优点和适用情况。

        1.foreach:这是最普通的循环结构,它遍历数组或对象的每一个元素或属性。它没有提供任何方法来改变遍历的顺序,也不能用来创建范围更广的迭代器。

 
let arr = [1, 2, 3, 4, 5];
arr.forEach(function(item, index) {
console.log(item); //依次输出1,2,3,4,5
});

        2.for...in:这是用来遍历对象属性的循环结构。它不会遍历原型链上的属性,只遍历对象自身的属性。此外,for...in可以用于非数组的场合,这是它的一大优点。

 
let obj = {a: 1, b: 2, c: 3};
for (let key in obj) {
console.log(key); //依次输出a,b,c
}

        3.for...of:这是ES6中新增的循环结构,用于遍历可迭代对象(包括数组,Map,Set等)。与forEachfor...in相比,for...of有一些重要的优点。首先,它可以用于更广泛的迭代器,包括一些自定义的迭代器。其次,for...of会直接返回每次迭代的值,而不是像forEach那样返回一个数组。此外,它也不会遍历原型链。

 
let arr = [1, 2, 3, 4, 5];
for (let value of arr) {
console.log(value); //依次输出1,2,3,4,5
}

以上就是这三种循环结构的基本区别和各自的优点。在实际编程中,你可以根据需要选择合适的循环结构。

http://www.lryc.cn/news/218732.html

相关文章:

  • CVE-2023-21839 weblogic rce漏洞复现
  • MQTT java代码演示
  • Windows环境下使用VLC获取到大疆无人机的RTMP直播推流
  • 【SpringBoot笔记42】SpringBoot集成knife4j生成接口文档
  • Go类型嵌入介绍和使用类型嵌入模拟实现“继承”
  • 【深度学习】pytorch——实现CIFAR-10数据集的分类
  • Datawhale-AIGC实践
  • C++对象模型
  • Linux Framebuffer驱动框架、接口实现和使用
  • AI:54-基于深度学习的树木种类识别
  • MVCC详解
  • [pytorch]手动构建一个神经网络并且训练
  • 马斯克的X.AI平台即将发布的大模型Grōk AI有哪些能力?新消息泄露该模型支持2.5万个字符上下文!
  • spring-session-core排除某些接口不设置session
  • 【ElasticSearch系列-05】SpringBoot整合elasticSearch
  • C/S架构学习之广播
  • 帧间快速算法论文阅读
  • mooc单元测验第一单元
  • AOC显示器出问题了?别担心,简单重置一下就OK了
  • ok-解决qt5发布版本,直接运行exe缺少各种库的问题
  • 【JavaEE】cookie和session
  • 关于CSS的几种字体悬浮的设置方法
  • 心脏骤停急救赋能
  • Android 13.0 根据app包名授予app监听系统通知权限
  • 校园招聘系统
  • SpringBoot-SpringCache缓存
  • 服务器带宽忽然暴增,不停的触发告警
  • Linux学习笔记之二(环境变量)
  • 设计模式——备忘录模式(Memento Pattern)
  • C++ 代码实例:多项式除法简单计算工具