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了

相关推荐
qq_177767379 分钟前
React Native鸿蒙跨平台实现应用介绍页,实现了应用信息卡片展示、特色功能网格布局、权限/联系信息陈列、评分展示、模态框详情交互等通用场景
javascript·react native·react.js·ecmascript·交互·harmonyos
淼淼76312 分钟前
安装jdk1.8
java·开发语言
2603_9494621014 分钟前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
wuhen_n20 分钟前
JavaScript内存管理与执行上下文
前端·javascript
PfCoder27 分钟前
WinForm真入门(23)---PictureBox 控件详细用法
开发语言·windows·c#·winform
Legendary_00829 分钟前
Type-C 一拖二快充线:突破单口限制的技术逻辑
c语言·开发语言
过期动态35 分钟前
Java开发中的@EnableWebMvc注解和WebMvcConfigurer接口
java·开发语言·spring boot·spring·tomcat·maven·idea
Hi_kenyon42 分钟前
理解vue中的ref
前端·javascript·vue.js
csbysj20201 小时前
Web 标准
开发语言
老姚---老姚1 小时前
在windows下编译go语言编写的dll库
开发语言·windows·golang