如何进行JavaScript设计模型Iterator的实践
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天就跟大家聊聊有关如何进行JavaScript设计模型Iterator的实践,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。起手式Iterat
千家信息网最后更新 2026年11月01日如何进行JavaScript设计模型Iterator的实践
今天就跟大家聊聊有关如何进行JavaScript设计模型Iterator的实践,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
起手式Iterator Pattern是一个很重要也很简单的Pattern:迭代器!
我们可以提供一个统一入口的迭代器,Client只需要知道有哪些方法,或是有哪些Concrete Iterator,并不需要知道他们底层如何实作!
Iterator最主要的东西就是两个:hasNext、next。要让Client知道是否还有下一个,和切换到下一个!
定义Interface
interface IteratorInterface { index: number dataStorage: any hasNext(): boolean next(): any addItem(item: any): void}实作介面
下面的范例我将会使用Map、Array这两个常见的介面实作。
class iterator1 implements IteratorInterface { index: number dataStorage: any[] constructor() { this.index = 0 this.dataStorage = [] } hasNext(): boolean { return this.dataStorage.length > this.index } next(): any { return this.dataStorage[this.index ++] } addItem(item: any): void { this.dataStorage.push(item) }}// mapclass iterator2 implements IteratorInterface { index: number dataStorage: Mapconstructor() { this.index = 0 this.dataStorage = new Map() } hasNext(): boolean { return this.dataStorage.get(this.index) != undefined } next(): any { return this.dataStorage.get(this.index ++) } addItem(item: any): void { this.dataStorage.set(this.dataStorage.size, item) }}Client
我没有实作一个Client,所以我是直接new一个类别出来直接使用!
const i = new iterator1()i.addItem(123)i.addItem(456)i.addItem('dolphin')while(i.hasNext()){ console.log(i.next())}console.log(`====================`)const i2 = new iterator2()i2.addItem(123)i2.addItem(456)i2.addItem('dolphin')while(i2.hasNext()){ console.log(i2.next())}会发现Iterator 1号 2号的结果都是一样的!他们都只需要让Client知道有hasNext、next就好,底层的实作不需要让他们知道!
看完上述内容,你们对如何进行JavaScript设计模型Iterator的实践有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
内容
模型
实践
设计
两个
介面
底层
迭代
重要
东西
入口
就是
常见
方法
更多
知识
篇文章
类别
结果
范例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网加科技
广东猪兼强互联网科技有限公司
广州百单互联网科技有限公司
互联网科技有限公司经营范围
互联网最新的科技有限公司
互联网金融公司科技
智网互联网科技
沃里互联网科技
互联网 视角下的科技创新
互联网 科技服务平台
互联网科技生活的内容
恒生科技互联网指数分析
云创客互联网科技公司
成都互联网科技公司100强
晓花互联网科技有限公司网址
世界互联网领先科技成果获奖
伊宁互联网科技做什么的
山东星卡互联网科技有限公司官网
扫呗互联网科技有限公司
互联网企业和网络科技有限公司
互联网科技园
互联网科技公司简介
互联网科技论文
电子科技大学互联网
江苏南京365互联网科技
受益于互联网科技的高速发展
消费医药和互联网科技
群盈汇互联网科技有限公司
互联网科技资金流入
互联网科技快讯热点