javascript给对象添加迭代器

迭代器是啥就自行百度了

为啥for...of可以遍历数组,为啥不能遍历对象,就是for...of会调用迭代器,而数组是内置了迭代器了,而对象没有内置,所以直接使用for...of遍历对象会报错,因此只用在对象的原型上面自定义一个迭代器就好了

手动添加迭代器

javascript 复制代码
    Object.prototype[Symbol.iterator] = function* iterEntries() {
    let keys = Object.keys(this);
    for (let i = 0; i < keys.length; i++) {
        let key = keys[i];
        yield this[key];
    }
}

这里的yield是每次迭代返回的值,你可以设置为1,这样for...of对象的时候,就全是1了

相关推荐
这不小天嘛14 小时前
JAVA八股——J集合篇
java·开发语言
AOwhisky14 小时前
Python 学习笔记(第一期与第二期)——基础语法——核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发
牧濑红莉16 小时前
网络安全竞赛pwn全解及第一道ai的wp
javascript·.net
kyriewen16 小时前
别再用AI debug了——这5种bug越修越烂
前端·javascript·ai编程
喜欢的名字被抢了17 小时前
Python实战:SQLAlchemy ORM与FastAPI项目集成
开发语言·python·sql·教程·fastapi
顾昂_17 小时前
内存泄漏排查和 Chrome DevTools 使用教程
前端·javascript·面试
An_s19 小时前
rust开发wasm与浏览器(js)交互
javascript·rust·wasm
山河木马19 小时前
GPU自动处理专题4-填充覆盖区域(光栅化)
javascript·webgl·计算机图形学
从零开始的代码生活_19 小时前
C++ 内存管理:从内存分区到 new/delete 底层原理
开发语言·c++·后端
悦儿遥遥雨119 小时前
PXE + Kickstart 无人值守批量部署系统
linux·javascript·nginx