美文网首页
for...of 与 for...in

for...of 与 for...in

作者: 婆娘漂亮生活安逸 | 来源:发表于2022-03-03 15:23 被阅读0次

一. 请问,以下打印出什么东西?


const obj = {
  name: "Maning",
  age: "secret",
  hobby: "reading",
};

const arr = [
  { name: "XXX", age: "11", hobby: "singing" },
  { name: "YYY", age: "22", hobby: "dancing" },
];

for (const i in obj) {
  console.log(i);
}

for (const i in arr) {
  console.log(i);
}

for (const i of arr) {
  console.log(i);
}

for (const i of obj) {
  console.log(i);
}

反正,我第一眼看到的时候,我在想这不都一样吗?然后细细一看,是 in 和 of 不一样,还有 obj 和 arr 不一样。

直接上答案吧!

// for...in(obj)
name
age
hobby

// for...in(arr)
o
1

// for...of(obj)
TypeError: obj is not iterable

// for...of(arr)
{ name: 'XXX', age: '11', hobby: 'singing' }
{ name: 'YYY', age: '22', hobby: 'dancing' }





2. 为啥呢?


这里我直接上官方文档的解释吧;真的写的太精准太好了,导致我复制过来以后,都不想再解释一遍。自己品吧;

for...in语句以任意顺序遍历一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性。

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

相关文章

  • JavaScript for...in和for...of的区别

    for...in for...of的区别 for...in 循环的是key; for...of 循环的是value...

  • for...in 与for...of

    for...in循环读取键名,for...of循环读取键值。for...of遍历数组时,只返回具有数字索引的属性。...

  • for...of 与 for...in

    一. 请问,以下打印出什么东西? 反正,我第一眼看到的时候,我在想这不都一样吗?然后细细一看,是 in 和 of ...

  • es6常用特性(三)

    一、Iterator for...of与for...in的区别for...in只能获取对象的键名,不能直接获取键值...

  • 【转载】for...in与for...of区别

    原文: for...in与for...of区别[https://blog.csdn.net/smlljet/art...

  • for...in,for...of

    主要用来遍历数组和字符串,对象也可以 for...in方法针对的是有没有下标数组的情况,也适用于对象的循环遍历;f...

  • for...in、for...of

    for……in 循环遍历对象的属性和数组的键值(索引) 可以遍历自定义属性 会遍历数组所有可枚举的属性,包括原型 ...

  • for...in & for...of

    内容摘自 MDN:for...in[https://developer.mozilla.org/zh-CN/doc...

  • for...of 与 for...in 区别

    一、for...of 1.定义 for...of 语句遍历可迭代对象(包括数组、Set 和 Map 结构、argu...

  • 第22周技术周报

    1. for...of VS for...in的用法 for...of是用于遍历实现了Iterator接口的元素 ...

网友评论

      本文标题:for...of 与 for...in

      本文链接:https://www.haomeiwen.com/subject/xfxurrtx.html