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了

相关推荐
倚窗听花_10 分钟前
IIS部署前端Vue项目
前端·javascript·vue.js
yixun_gdas15 分钟前
政企网站错敏巡查:错敏都藏在哪些位置?
开发语言·前端·javascript·内容运营
小羊没烦恼!19 分钟前
.NET 11 Runtime Async 详解
java·运维·开发语言·javascript·python
Дерек的学习记录20 分钟前
Unreal Engine 5:开关门实现和流程控制
开发语言·学习·ue5
飞飞鱼在摸鱼1 小时前
前端转Agent开发 | JavaScript 从 0 到 1 完全指南
前端·javascript
code2cat1 小时前
Java高级篇之Socket:从建立连接到完整收发一条消息
java·开发语言
Suprman2 小时前
从 B/S 到 Electron:平面排版套料系统桌面版开发实战
javascript·平面·electron·排序算法
凯瑟琳.奥古斯特2 小时前
OCR文字检测算法对比解析
开发语言·python·职场和发展
u0111026752 小时前
Vue 3 统一右侧编辑面板:布局、滚动与底部操作区设计
javascript·vue.js·ecmascript
Misnice2 小时前
Python 内置函数大全
开发语言·windows·python