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了

相关推荐
kyriewen1 小时前
AI 生成的代码能跑就行?这 5 个坑迟早炸
前端·javascript·ai编程
kisshyshy1 小时前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
胡志辉2 小时前
从v8源码和react深入浅出理解 JavaScript 作用域链与闭包
前端·javascript
Bolt2 小时前
TypeScript 7.0 来了:当 tsc 用 Go 重写之后
javascript·typescript·go
阳火锅4 小时前
😭测试小姐姐终于不骂我了!这个提BUG神器太香了...
前端·javascript·面试
林希_Rachel_傻希希6 小时前
js里面的proxy理解。以及vue3响应式数据设计底层
前端·javascript·面试
阿黎梨梨6 小时前
AI Loop:告别“人肉写提示词”,让代码替你“鞭策”AI
javascript·人工智能
竹林81810 小时前
用 wagmi v2 + viem 监听链上事件,我踩了三天坑终于搞懂了实时日志与历史补全
javascript
只一10 小时前
😭从回调地狱到 async/await:一文打通 Ajax 与 JS 异步编程
javascript
weedsfly10 小时前
语法糖褪去之后——Babel 转译产物中的 JavaScript 本貌
前端·javascript