码迷,mamicode.com
首页 > 其他好文 > 详细

for in 和for of 的用途

时间:2021-04-23 12:25:38      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:因此   包括   适合   for 循环   efi   不同   不执行   建议   钩子   

for in

  • 一般用于遍历对象的可枚举属性。以及对象从构造函数原型中继承的属性。对于每个不同的属性,语句都会被执行。
  • 不建议使用for in 遍历数组,因为输出的顺序是不固定的。
  • 如果迭代的对象的变量值是null或者undefined, for in不执行循环体,建议在使用for in循环之前,先检查该对象的值是不是null或者undefined

因此,for in 尽量用于遍历对象

const obj = {
  ‘a‘:1,
  ‘b‘:2,
  ‘c‘:3
}
for(const i in obj) {
  console.log(i)
  console.log(obj[i])
}  
// 输出 a 1 b 2 c 3

for of

  • for of 语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句

因此,for of 适用于遍历数组、map、set、字符串等

// *** 数组 ***
const arr = [1,3,6,9]
for(const i of arr) {
  console.log(i)
}
// 输出 1 3 6 9
// 遍历数组用普通的 for 循环最方便   

// *** map 对象 *** 
const map = new Map([[‘d‘, 12], [‘e‘, 13]])
map.set(‘f‘, 14)
for(const [k, v] of map) {
  console.log(k)
  console.log(v)
}
// 输出 d 12 e 13 f 14   

// *** Set 对象 ***
const st = new Set([1, 2])
st.add(3)
for(const s of st) {
  console.log(s)
}
console.log(st.size)
// 输出 1 2 3 3

// 字符串同数组

总结:for in 适合遍历对象,for of 适合遍历字符串、数组、Map、Set对象等。

for in 和for of 的用途

标签:因此   包括   适合   for 循环   efi   不同   不执行   建议   钩子   

原文地址:https://www.cnblogs.com/jcjd/p/14692602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!