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了

相关推荐
0和1的舞者5 分钟前
《网络编程核心概念与 UDP Socket 组件深度解析》
java·开发语言·网络·计算机网络·udp·socket
惜棠7 分钟前
visual code + rust入门指南
开发语言·后端·rust
n***i958 分钟前
Rust在嵌入式系统中的内存管理
开发语言·后端·rust
q***06298 分钟前
ThinkPHP和PHP的区别
开发语言·php
Java天梯之路24 分钟前
Java 初学者必看:接口 vs 抽象类,到底有什么区别?
java·开发语言
徐小夕28 分钟前
耗时一周,我把可视化+零代码+AI融入到了CRM系统,使用体验超酷!
javascript·vue.js·github
5***a97535 分钟前
React Native性能优化技巧
javascript·react native·react.js
A3608_(韦煜粮)1 小时前
深入理解React Hooks设计哲学与实现原理:从闭包陷阱到并发模式
javascript·性能优化·react·前端开发·react hooks·并发模式·自定义hooks
7***53341 小时前
Rust错误处理模式
开发语言·后端·rust
玉宇夕落1 小时前
🔁 字符串反转 × 两数之和:前端面试高频题深度拆解(附5种反转写法 + 哈希优化)
javascript