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了

相关推荐
csbysj20207 分钟前
CSS !important:深度解析与最佳实践
开发语言
初心未改HD12 分钟前
Go语言测试与Benchmark:测试驱动开发的实践指南
开发语言·golang
chxii19 分钟前
lua流程控制语句和table(表)数据结构
开发语言·junit·lua
Rkgua24 分钟前
事件流模型是什么和DOM事件模型等关系
javascript
逻辑驱动的ken27 分钟前
Java高频面试考点场景题20
java·开发语言·深度学习·面试·职场和发展
W.A委员会28 分钟前
多行溢出在末尾添加省略号
开发语言·javascript·css
wjs202430 分钟前
RSS Item 元素:深入解析与使用指南
开发语言
小郑加油34 分钟前
python学习Day11:认识与创建CSV文件
开发语言·python·学习
念何架构之路1 小时前
Go Web基础和Http演进
开发语言·后端·golang
初心未改HD1 小时前
Go语言database/sql与SQLx:构建健壮的数据访问层
开发语言·golang