本文详解JavaScript中for in与for of两种遍历方式的区别。for in遍历数组索引或对象属性名,适用于获取键名;for of遍历数组值、字符串字符或对象字段,直接获取元素值。通过对象、数组及字符串的示例代码,清晰展示两者在遍历行为与返回值上的不同,帮助开发者根据需求选择合适的方法。
一、引言
- 在遍历数组或对象的过程中,通常涉及两种迭代方式:
for in与for of - 二者均支持遍历操作,但
for in侧重于获取数组索引或对象属性名(index),而for of则用于获取数组元素值或对象字段值(value)
二、for in 详解
1. 利用 for in 遍历对象
当 for in 应用于对象循环时,变量 key 代表对象的属性名称,通过 对象名[key] 的形式可获取对应属性的具体值
window.location.href = "https://blog.csdn.net/2301_76459194?spm=1011.2266.3001.5343"
let obj = { name: "张三", age: 28 }
for (const key in obj) {
console.log(key); // name age
console.log(obj[key]); //张三 28
}
2. 利用 for in 遍历数组
当 for in 应用于数组循环时,变量 key 代表数组的下标索引,通过 数组名[key] 的形式可获取数组中对应的元素值
let arr = [1, 5, 8, 9, 19, 85]
for (const key in arr) {
console.log(key); // 0 1 2 3 4 5
console.log(arr[key]); // 1 5 8 9 19 85
}
三、for of 详解
1. 利用 for of 遍历数组
当 for of 应用于数组循环时,变量 iterator 直接代表数组中的每一个元素值
let arr = [1, 5, 8, 9, 19, 85]
for (const iterator of arr) {
console.log(iterator); //1 5 8 9 19 85
}
2. 利用 for of 遍历字符串
当 for of 应用于字符串循环时,变量 iterator 代表字符串中的每一个字符单元
let str = '这是一段文字'
for (const iterator of str) {
console.log(iterator); // 这 是 一 段 文 字
}
总结
至此,关于 JavaScript 中 for in 与 for of 区别的分析已阐述完毕,如需了解更多 JS for in 和 for of 的区别相关内容,欢迎查阅本站往期文章或继续浏览后续文章,感谢大家的支持!