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

foreach、for in 和for of的区别?

forEachfor...in 和 for...of 是 JavaScript 中用于遍历数据的三种不同的结构。它们在遍历数组、对象和可迭代对象(如 Set 和 Map)时非常有用。尽管它们都可以用于循环遍历,但它们之间存在一些重要的区别:

forEach

forEach 是数组的一个方法,用于遍历数组的每个元素并应用一个函数。这个函数可以接收两个参数:当前元素的值和当前元素的索引。

示例:

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

for...in

for...in 语句用于遍历对象的可枚举属性。它不会遍历原型链上的属性,只遍历对象自身的属性。

示例:

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

for...of

for...of 语句用于遍历可迭代对象(如 Array,Map,Set,String,TypedArray,arguments对象等等)。在每次迭代中,返回的是对象的值,而不是键。

示例:

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

总结一下主要的区别:

  • forEach 是专门为数组设计的,它遍历数组的每个元素并应用一个函数。
  • for...in 是用来遍历对象属性的,它遍历的是对象的自身可枚举属性,不包括原型链上的属性。
  • for...of 是用来遍历可迭代对象的,它返回的是对象的值,而不是键。

在实际开发中,你可以根据需要选择合适的循环结构。

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

相关文章:

  • 【Effective C++】条款45: 运用成员函数模板接受所有兼容的类型
  • WSL1 安装 debian xfce 用xrdp 导入远程桌面
  • WPF RelativeSource属性-目标对象类型易错
  • Java while 和do while 循环
  • 应用软件安全编程--03净化传递给 Runtime.exec() 方法的非受信数据
  • uniapp阻止冒泡的方法,点击事件嵌套点击事件,怎么阻止同时触发
  • 【云原生基础】了解云原生,什么是云原生?
  • Android.bp探究
  • 【LeetCode】415 字符串相加
  • 【RP-RV1126】配置一套简单的板级配置
  • 解决uniapp的video标签和transition属性使用时出现错位的问题
  • 电脑校园杂志电脑校园杂志社电脑校园编辑部2023年第9期目录
  • NSSCTF做题第十页(1)
  • 文件详细操作过程(C语言)
  • python使用ffmpeg来制作音频格式转换工具(优化版)
  • Debug技巧-不启用前端访问后端
  • 由CAB/PAB展开的一些思考
  • 系列十五、idea全局配置
  • 高德Go生态建设与研发实践
  • SpringCloud中Turbine 1.X版本BUG
  • SCSS的用法有哪些?分别举例
  • Spring controller层请求数据和响应数据的简单方法
  • 中国商界杂志中国商界杂志社中国商界编辑部2023年第10期目录查询
  • 记录 vue + vuetify + electron 安装过程
  • 短视频账号矩阵系统saas源码搭建/技术
  • 词向量模型Word2Vec
  • 公会发展计划(GAP):经过实战考验的 Web3 任务模式
  • 网络工程师基础知识(2)
  • 创建ABAP数据库表和ABAP字典对象-理解表字段02
  • 2021-arxiv-GPT Understands, Too