joken-前端工程师

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::
  388 随笔 :: 39 文章 :: 8 评论 :: 20万 阅读

实现代码

Object.prototype[Symbol.iterator] = function () {
    let keys = Object.keys(this);
    let index = 0;
    return {
        next: () => {
            return {
                value: this[keys[index++]],
                done: index >= keys.length + 1 ? true : false,
            }
        }
    }
}

var obj={
    a:"skfjslkjdfs",
    b:"sklfjlskjdfks"
}

for(let i of obj){
    console.log(i,"iiii")
}

实现方式2,使用生成器实现
Object.prototype[Symbol.iterator] = function* () {
    for (let key of Object.keys(this)) {
        yield this[key];
    }
};

var obj = {
    a: "skfjslkjdfs",
    b: "sklfjlskjdfks"
};

for (let i of obj) {
    console.log(i, "iiii");
}
截图

image

posted on   joken1310  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示