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了

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