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了

相关推荐
小尧嵌入式4 分钟前
C++基础语法总结
开发语言·c++·stm32·单片机·嵌入式硬件·算法
@游子8 分钟前
Python学习笔记-Day2
开发语言·python
qq_336313939 分钟前
java基础-集合进阶
java·开发语言·windows
222you11 分钟前
MybatisPlus常用注解
java·开发语言·spring
你的冰西瓜22 分钟前
C++20 新特性详解:相较于 C++17 的主要改进
开发语言·c++·stl·c++20
小皮虾25 分钟前
拒绝卡顿!小程序图片本地“极速”旋转与格式转换,离屏 Canvas 性能调优实战
前端·javascript·微信小程序
汤姆Tom26 分钟前
前端转战后端:JavaScript 与 Java 对照学习指南 (第一篇 - 深度进阶版)
java·javascript
瓶子in26 分钟前
JavaScript数组去重的多种实现方式
javascript
Cassie燁28 分钟前
element-plus源码解读2——vue3组件的ref访问与defineExpose暴露机制
javascript·vue.js
Robet31 分钟前
类属性公共还是私有
javascript·typescript