专注国内外云服务器
分享建站技术教程

JavaScript设计模型Iterator

立即购买

阿里云服务器 ¥102元/年 云数据库37.5元/年 限时

个人、企业均可购买 | 更多配置0.8折特惠

吾上云WORDPRESS教程最新“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)

}

}

// map

class iterator2 implements IteratorInterface {

index: number

dataStorage: Map

constructor() {

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就好,底层的实作不需要让他们知道!

以上就是本文的全部内容,希望对大家的学习有所帮助。

 

文章来源于互联网WORDPRESS教程:JavaScript设计模型Iterator,
阿里云服务器89元起,点击购买
腾讯云服务器95元/年起 点击购买

相关推荐: 网站seo优化有哪些基本的操作方法

吾上云WORDPRESS教程最新“网站seo优化有哪些基本的操作方法”随着互联网的不断普及,越来越多的公司意识到互联网的重要性,如电子商务等网络推送渠道提升了企业形象和销售渠道,再加上个别站长的不断繁荣,SEO从业者的数量也在不断增加。因此,一些企业主开始希望…

赞(0)
未经允许不得转载:吾上云 » JavaScript设计模型Iterator
分享到: 更多 (0)
  • 阿里云
    基础型云服务器

    1核CPU

    2G内存

    40G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥89/1年 原价¥903.40

  • 阿里云
    超值型云服务器

    2核CPU

    4G内存

    40G硬盘

    3M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥899/3年 原价¥8281

  • 阿里云
    高性能云服务器

    2核CPU

    8G内存

    40G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥1399/3年¥14765

  • 腾讯云
    基础型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥95/1年 原价¥834

  • 腾讯云
    超值型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥288/3年 原价¥2502

  • 腾讯云
    高性能云服务器

    4核CPU

    8G内存

    50G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥2188/3年¥13986

  • 阿里云
    基础型云服务器

    1核CPU

    2G内存

    40G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥89/1年 原价¥903.40

  • 阿里云
    超值型云服务器

    2核CPU

    4G内存

    40G硬盘

    3M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥899/3年 原价¥8281

  • 阿里云
    高性能云服务器

    2核CPU

    8G内存

    40G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥1399/3年¥14765

  • 腾讯云
    基础型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥95/1年 原价¥834

  • 腾讯云
    超值型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥288/3年 原价¥2502

  • 腾讯云
    高性能云服务器

    4核CPU

    8G内存

    50G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥2188/3年¥13986

评论 抢沙发

评论前必须登录!

 

吾上云 专注服务器选购

购买云服务器联系我们