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_398586545 分钟前
Utools插件实现Web Bluetooth
前端·javascript·electron·node·web·web bluetooth
李剑一15 分钟前
mitt和bus有什么区别
前端·javascript·vue.js
起予者汝也30 分钟前
Python基础入门
开发语言·python
soda_yo39 分钟前
JavaScripe中你所不知道的"变量提升"
javascript
www_stdio1 小时前
JavaScript 执行机制详解:从 V8 引擎到执行上下文
前端·javascript
芯联智造1 小时前
【stm32协议外设篇】- SU03T 智能语音模块
c语言·开发语言·stm32·单片机·嵌入式硬件
川石课堂软件测试1 小时前
Python | 高阶函数基本应用及Decorator装饰器
android·开发语言·数据库·python·功能测试·mysql·单元测试
lqqjuly1 小时前
Matlab2025a实现双目相机标定~业余版
开发语言·matlab·相机标定·双目相机
Brianna Home1 小时前
现代C++:从性能泥潭到AI基石
开发语言·c++·算法
我命由我123451 小时前
HTML - 换行标签的 3 种写法(<br>、<br/>、<br />)
前端·javascript·css·html·css3·html5·js