迭代器遍历对象

const info = {
  name: 'zerus',
  height: 1.88,
  address: '北京市'
}

for (i of info) {
  console.log(i)
}

在这里插入图片描述

我们知道对象用in遍历是没有问题的,但是用of遍历时就会报错,info is not iterable,info不是一个可迭代对象。
首先我们要知道可迭代对象具有什么特征。
可迭代对象会有一个next方法,其会返回一个形式为{done: Boolean, value: any}的对象
要让对象具有可迭代性,我们要为对象添加一个[Symbol.iterator]的属性,并赋值为返回next形式的方法

const info = {
  name: 'zerus',
  height: 1.88,
  address: '北京市',
  [Symbol.iterator]() {
    let infoKeys = Object.keys(info)
    let keyLen = infoKeys.length
    let index = 0
    return {
      next() {
        return {value: info[infoKeys[index]], done: index++ > keyLen}
      }
    }
  }
}

for (i of info) {
  console.log(i)
}

秃头大学生破晓
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
java迭代器遍历中删除对象
程序员小雨的博客
07-22 697
迭代器遍历集合中移除元素
Java迭代器iterator遍历有条件删除对象
weixin_48610702的博客
08-19 2043
Java迭代器iterator遍历有条件删除对象 在使用迭代器遍历对象并对对象使用删除操作时可能发生的问题指南 文章目录Java迭代器iterator遍历有条件删除对象前言总结 前言 前不久在使用Java迭代器 iterator 对象遍历执行 list 对象操作,当我根据条件删除 list 内的元素时,再次运行到 iterator.next() 时就会出错,想要在循环遍历的过程中删除集合中的元素,但是运行代码的时候遇到了这么一个错: java.util.ConcurrentModificationExc
使用迭代器进行遍历
happy_teemo的博客
03-17 1273
#include #include using namespace std; struct Student { int sno; char name[31]; }; int main() { vector a1; vector a2; vector stus; a1.push_back(2001); a1.push_back(200
利用迭代器遍历集合对象
weixin_43283808的博客
11-01 114
【代码】利用迭代器遍历集合对象
迭代器自定义遍历对象
马优晨
06-29 550
要说起迭代器自定义遍历对象,首页要知道什么是迭代器? 生成器概念在Java,Python等语言中都是具备的,ES6也添加到了JavaScript中。Iterator可以使我们不需要初始化集合,以及索引的变量,而是使用迭代器对象的 next 方法,返回集合的下一项的值,偏向程序化。 迭代器是带有特殊接口的对象。含有一个next()方法,调用返回一个包含两个属性的对象,分别是value和done,value表示当前位置的值,done表示是否迭代完,当为true的时候,调用next就无效了。 ES5中遍历
迭代器模式(二)(遍历对象元素)
黄彪博客
09-07 756
5 JDK内置迭代器        为了让开发人员能够更加方便地操作聚合对象,在Java、C#等编程语言中都提供了内置迭代器。在Java集合框架中,常用的List和Set等聚合类都继承(或实现)了java.util.Collection接口,在Collection接口中声明了如下方法(部分): package java.util; public interface Collection
封装迭代器 遍历数组与对象
前端小99的博客
09-12 381
// 定义数组 var arr = ["三星", "华为", "苹果", "香蕉"]; // 定义对象 var obj = { a: "苹果", b: "香蕉", c: "地瓜", d: "黄瓜" } // 封装一个函数,通过该函数可以实现对数组和对象遍历 /** * each方法 可以实现对数组和对象遍历 * @target 要遍历的目标 * @fn 要执行的函数 **/ function each(target, fn) { // 判.
TypeScript使用迭代器遍历对象
最新发布
09-16
在TypeScript中,我们可以使用迭代器遍历对象迭代器是一个对象,它实现了一个next()方法,该方法返回一个包含value和done属性的对象。 下面是一个示例代码,展示了如何在TypeScript中使用迭代器遍历对象: ```...
Java使用Iterator迭代器遍历集合数据的方法小结
08-25
Java使用Iterator迭代器遍历集合数据的方法小结 Java语言中,使用Iterator迭代器遍历集合数据是一种常见的操作。本文主要介绍了Java使用Iterator迭代器遍历集合数据的方法,并结合实例形式分析了Java迭代器进行集合...
使用迭代器 遍历文件信息的详解
12-18
在PHP中,迭代器允许对象像数组一样被遍历,而无需实际存储所有元素;Python的迭代器支持生成器,使得内存效率更高;Ruby的迭代器则常用在块(block)操作中,如 `each` 方法。 总结起来,迭代器提供了一种灵活且...
使用iterator迭代器,实现for...of...遍历对象的方法
weixin_49702294的博客
11-22 384
一个数据结构只要部署了Symbol.iterator属性就能使用 for…of遍历 与 …运算符 操作 Object身上没有Symbol.iterator,当直接使用时会报错 iterator属性是一个接口 在原型上添加一个Symbol.iterator迭代器的接口,通过Symbol.iterator这个接口调用后面遍历对象的方法 Object.prototype[Symbol.iterator] let obj = { a: 1, b: 2,c: 3} Object.prototype[Sy..
python迭代器_使用Python的迭代器遍历可迭代对象
weixin_39858245的博客
11-28 236
迭代器也是用来遍历对象成员的,前面讨论过使用for循环遍历序列对象成员,为什么Python还要提供迭代器呢?1、为什么要使用迭代器?使用for循环可以遍历序列对象,列表、元组、字符串都是序列对象,序列对象都有索引,通过索引可以访问序列对象的成员。在用for循环遍历序列对象时,即可以使用序列对象的索引来遍历,也可以使用序列项来遍历,for循环使用序列项遍历对象时,就用到了迭代器。另外,Python也...
迭代器遍历(两种简单的方法)
qq_43473129的博客
10-29 4215
简单的两种迭代器遍历 首先先用集合对象的Iiterator()方法,获得迭代器对象,然后通过迭代器对象调用hashNext()的方法,判断是否有下一个迭代器,最后调用迭代器的next()方法进行打印输出。 //使用多态创建对象 Collection coll = new ArrayList(); //往集合中添加元素 coll.add(1)...
【Python入门教程】第36篇 可遍历对象迭代器
Tony.Dong的专栏
01-28 1590
遍历对象(iterable)是一种可以进行遍历对象,它可以一次返回一个元素。迭代器(iterator)是执行迭代操作时的代理对象迭代器拥有状态,它也是一种可遍历对象。使用 iter() 函数获取可遍历对象迭代器,使用 next() 函数获取可迭代对象中的下一个元素。
Error:‘xxx‘ is not iterable 是不可迭代的
Eliaukoyx
03-28 2万+
JavaScript中, Object 是不可迭代的,除非它们实现了迭代协议。因此,不能使用 for of 来迭代对象的属性。 可以使用Object.keys 来迭代对象的属性或属性值。
Vue报错undefined is not iterable (cannot read property Symbol(Symbol.iterator))
林中明月间丶
07-06 1万+
undefined is not iterable (cannot read property Symbol(Symbol.iterator))
关于object is not iterable的错误提示
热门推荐
gfbaishikele的博客
03-24 5万+
关于object is not iterable的错误提示 Django在获取数据在前台template展示的时候,报出个异常,查了一下没发现问题,网上看了一圈,说法是丢的,但是也没能解决我的问题。后来发现是在return的数据对象不能操作数据时获取。 以下代码只展示问题所在。 view层代码: html代码: 数据模型如下:主要是id是表创建时系统生成主键 错误提示如下: 问题解决如下:...
python 出现错误'int' object is not iterable 解决方法
09-05 1万+
代码如下: 改成如下: 转载于:https://www.cnblogs.com/qisilu/p/11467033.html
写文章

热门文章

  • vue异步处理 2592
  • CF-刷题纪录 431
  • 黑马JavaWeb学习踩的坑——登录案例 代码实现1 352
  • FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of me 326
  • Vue学习day03(vscode) 321

分类专栏

  • Vue 5篇

最新评论

  • 迭代器遍历对象

    CSDN-Ada助手: 不知道 Vue入门 技能树是否可以帮到你:https://edu.csdn.net/skill/vue?utm_source=AI_act_vue

  • Vue学习day01(vscode)

    大家一起学编程(python): 确认过眼神,是值得学习的人

大家在看

  • 嵌入式STM32学习——GPIO控制之 固件库实现LED点灯 600
  • 谷歌 2023年披露的漏洞中,70%是0 Day | 最新快讯
  • Spring AOP 830
  • 毕设分享《基于jsp高考志愿辅助填报系统》(源码+lw+解析等) 402

最新文章

  • React-StrictMode严格模式
  • React实现原型图的过程
  • React-获取DOM方式refs
2023年24篇
2021年7篇
2019年1篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司优化网站的公司哪家好宣城企业网站优化哪家信誉好seo网站优化是百度快照吗网站关键词优化外包彭州网站优化推广公司焦作郑州网站优化咨询大兴企业网站优化推广专业研究网站排名优化横沥五金网站优化哪个公司好网站做优化必火2星鞍山网站优化快照个性化网站优化推广价格揭阳网站优化在线咨询永州网站优化公司电话杭州网站如何优化涧西网站优化建设厦门思明网站排名优化西安优化网站网站的内部优化包括网站标题优化广东中山网站口碑优化网站快照优化认定金手指对企业网站首页的优化中档案馆网站性能优化黄石网站seo优化哪家好网站优化效果宣传伦敦网站优化公司西安网站优化公司电话消防员网站怎么优化网站优化靠谱seo自贡网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化