ES6 - lterator

    xiaoxiao2024-10-09  117

    1. 迭代器(内部迭代器和外部迭代器)

    迭代模式:

    提供一种方法顺序获得集合对象中的各个元素,是一种最简单也是最常见的设计模式,提供特定的接口。

    内部迭代器:

    本身是函数,定义好内部迭代规则,外部只需一次初始调用 ; 例如:Array.prototypr.forEach 、jQuery.each 等

    外部迭代器:

    本身是函数,执行迭代对象,迭代对象必须显示调用,调用复杂度增加,但灵活性强

    2. 外部迭代器模拟

    let arr = [1,2,3] function customIterator(arr2){ let i = 0 let next = function(){ return { value : arr2[i], done : arr.length > ++i } } return { next } } let iter = customIterator(arr) console.log( iter.next() ) console.log( iter.next() ) console.log( iter.next() ) // 三次打印结果如下图

    3. 迭代器的目的

    由于前端的快速发展,使得数据结构发生了变化,产生了特定对象或者 set、map 等数据结构,前期的 for 循环遍历是无法迭代的,由此 lterator 就产生了,部署在各种数据结构上,使这些数据能被迭代操作。(for of、… 、Array.from)

    最新回复(0)