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了

相关推荐
天蓝色的鱼鱼5 分钟前
让 AI 写代码半年后,我发现了几个藏在项目里的安全隐患
前端·javascript·ai编程
蜗牛~turbo20 分钟前
金蝶云星空的网络控制设置
开发语言·c#·金蝶·erp·云星空·k3 cloud
随风一样自由21 分钟前
【前端+跨端技术新格局】Tauri vs Electron 完整性能对比(2026实测数据+底层原理)
前端·javascript·electron
Reload.40 分钟前
GJ航司,验证码网易易盾 JS逆向 纯算轨迹
开发语言·前端·javascript
铁皮饭盒1 小时前
Bun.js 集成了 SQL/Redis/S3,为什么 Java/Go/Python 不集成?
javascript
人道领域1 小时前
【LeetCode刷题日记】贪心算法理论与实战:455.分发饼干最优解
java·开发语言·数据结构·算法·leetcode·贪心算法
年轻的砖头1 小时前
以Ajax方式提交整个表单
前端·javascript·ajax
xin_yao_xin1 小时前
Conda 环境的 CUDA PATH 配置指南
开发语言·python·conda·cuda
he___H1 小时前
基于LCEL的联想
开发语言·python·langchain