如何进行JavaScript设计模型Iterator的实践
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,今天就跟大家聊聊有关如何进行JavaScript设计模型Iterator的实践,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。起手式Iterat
千家信息网最后更新 2025年11月07日如何进行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安全错误
数据库的锁怎样保障安全
网络安全意识责任书
电力系统网络安全培训目标
文件上传服务器乱码
配置与管理远程桌面服务器
湖州信网络技术有限公司
手抄报网络安全简笔画
天地心网络技术有限公司
网络安全工程好的高校
投网络安全的投资机构有哪些
switch 哪个服务器快
软件开发后如何验证
服务器主板怎么进入安全模式
谷歌服务器通信
护苗网络安全颗课
数据库优化 系统层面
网络安全型企业
容错服务器市场份额
mac用什么炒股软件开发
网络安全准入厂家
国家实行网络安全等级保护制
金蝶KIS数据库下载
加强网络安全和信息化工作会议
kodi多媒体服务器
北京白瑞互联网科技有限公司
计算机网络技术的读后感
服务器安全组配置在哪看
专升本计算机网络技术简单吗
serv-u服务器建站
怎么给服务器代理ip
便宜的国内服务器