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了

相关推荐
发现一只大呆瓜23 分钟前
SSO单点登录:从同域到跨域实战
前端·javascript·面试
发现一只大呆瓜24 分钟前
告别登录中断:前端双 Token无感刷新
前端·javascript·面试
Cg136269159741 小时前
JS-对象-Dom案例
开发语言·前端·javascript
故事和你911 小时前
sdut-程序设计基础Ⅰ-实验五一维数组(8-13)
开发语言·数据结构·c++·算法·蓝桥杯·图论·类和对象
Jin、yz2 小时前
JAVA 八股
java·开发语言
我是唐青枫2 小时前
C#.NET Span 深入解析:零拷贝内存切片与高性能实战
开发语言·c#·.net
lxh01132 小时前
数据流的中位数
开发语言·前端·javascript
盒马盒马2 小时前
Rust:迭代器
开发语言·后端·rust
Full Stack Developme3 小时前
Java 常用通信协议及对应的框架
java·开发语言
飞Link5 小时前
告别盲目找Bug:深度解析 TSTD 异常检测中的预测模型(Python 实战版)
开发语言·python·算法·bug