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

js中for...in 和 for...of 区别

for…in:

  • 遍历对象的属性: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 主要用于遍历可迭代对象的值(如数组、字符串、Map、Set 等等)。
  • 作用对象:数组、字符串、Map、Set 等可迭代对象。for…of 不适用于普通对象。
  • 迭代内容:返回的是迭代对象中的值,而不是索引或属性名。
let arr = [10, 20, 30];

for (let value of arr) {
  console.log(value); // 输出: 10, 20, 30
}

区别总结:

  • for…in 用于遍历对象的属性名,适合用于对象,而不适合数组,因为会返回数组的索引。
  • for…of 用于遍历可迭代对象的值,适合用于数组、字符串等集合类数据,而不适用于普通对象。

http://www.kler.cn/news/367862.html

相关文章:

  • 人工智能进程;算子加速的具体计算部分;大模型GPT5:参数18万亿;大模型面临问题
  • C语言应用范围有哪些?VC++和Turbo C也是编程语言吗?为什么某些编辑器编写源代码编译会报错?C语言为什么没有规定严格的运行时检查?
  • 对角线遍历矩阵模板
  • android——渐变色
  • C语言习题~day33
  • 系统聚类比较——最短距离法、最长距离法、重心法和类平均法
  • Elasticsearch 与 Lucene 的区别和联系
  • 【动态规划】力扣509. 斐波那契数
  • 基于neo4j关系图谱的协同过滤科研推荐系统
  • Redis 淘汰策略 问题
  • 软考:GPU算力,AI芯片
  • OCR经典神经网络(三)LayoutLM v2算法原理及其在发票数据集上的应用(NER及RE)
  • 【Android】Kotlin教程(6)
  • 算法设计与分析:贪心算法思想的应用
  • Redisson(三)应用场景及demo
  • HTML+CSS实现超酷超炫的3D立方体相册
  • Spring-SpringMVC-SpringBoot理解
  • Java基础-JVM
  • 【宝塔面板】轻松使用docker搭建lobe-chat项目(AI对话)
  • js纯操作dom版购物车(实现购物车功能)
  • Cannot read property ‘prototype’ of undefined 表单
  • 云资源管理与优化:提升效率的技术指南
  • 【数据集】NCEP辐射数据-用于计算漫射天窗比(diffuse skylight ration)
  • ELK之路第二步——可视化界面Kibana
  • Hadoop:yarn的Rust API接口
  • 面向对象思想和面向过程思想分析