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了

相关推荐
fantasy_arch1 分钟前
BasicVSR-lite图像画质增强
开发语言·pytorch
biubiubiu_LYQ2 分钟前
萌新小白基础理解篇之 this 关键字
前端·javascript
甜味弥漫3 分钟前
深度解析 JS 中的 this 指向:从底层逻辑到实战规则
javascript·面试
爱上好庆祝22 分钟前
学习JS第十一天(JS的进阶)
前端·javascript·学习
Rust语言中文社区23 分钟前
【Rust日报】2026-05-24 Secluso v1.0.2 版本发布
开发语言·后端·rust
吃好睡好便好1 小时前
矩阵的加减运算
开发语言·人工智能·学习·线性代数·算法·matlab·矩阵
吃好睡好便好1 小时前
提取矩阵特定多行元素
开发语言·线性代数·算法·matlab·矩阵
Mister西泽1 小时前
C++ Primer Plus 第六版 编程练习题及详细答案
开发语言·c++·学习·visual studio
froginwe111 小时前
Python 循环嵌套
开发语言
kisshyshy1 小时前
# 🔥 数组去重:从双重循环到 Set,面试官想听什么?
javascript·面试