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了

相关推荐
一苓二肆1 分钟前
PUMA机械臂matlab仿真正逆解与路径规划
开发语言·matlab
Frank_refuel6 分钟前
C++之继承
开发语言·c++
sunfove27 分钟前
Python 自动化实战:从识图点击、模拟真人轨迹到封装 EXE 全流程教学
开发语言·python·自动化
傻啦嘿哟27 分钟前
Python网页自动化操作全攻略:从入门到实战
开发语言·python·自动化
筱歌儿40 分钟前
TinyMCE-----word表格图片进阶版
开发语言·javascript·word
黎雁·泠崖1 小时前
Java面向对象:对象数组进阶实战
java·开发语言
%xiao Q1 小时前
GESP C++四级-216
java·开发语言·c++
西红市杰出青年1 小时前
Python异步----------信号量
开发语言·python
Ama_tor1 小时前
obsidian进阶の插件系列|Templater从小白到菜鸟
javascript·markdown·插件·obsidian
wuhen_n2 小时前
初识TypeScript
javascript·typescript