美文网首页
迭代器的概念

迭代器的概念

作者: 练习时长2年半的个人练习生 | 来源:发表于2020-06-27 13:19 被阅读0次

什么是迭代器

迭代器是一种代码组织模式,允许以一次一个的形式提取数据.
ES6 实现的是为迭代器引入一个隐式的标准化接口。JavaScript 很多内建的数据结构现在都提供了实现这个标准的迭代器。
如 数组 map set string等.

应用场景

例如把迭代器附着在一个数据库查询结果上,每次迭代拉出一个新行

for of 的本质

for (var v, res; (res = it.next()) && !res.done; ) { 
    v = res.value; 
    console.log( v ); 
}
迭代器相关

数组也是对象 ,继承于Object数组有内置的 @@iterator,因此 for..of 可以直接应用在数组上 ,Object没有迭代器属性,所以不能直接用for of

用for of, 遍历数组 和使用迭代器的next

  let arr = ['a','b','c'];
  for(val of arr){
      console.log(val)  //a   b c
  }
   let it = arr[Symbol.iterator]()
   console.log(it.next())
  // {value: "a", done: false}

自己实现一个迭代器,使对象具有迭代功能

  let person = {
            name:'张三',
            age:14,
            sex:'男',
        }
        Object.defineProperty(person,Symbol.iterator,{
            enumerable:false,
            value:function(){
                let keys = Object.keys(this);
                let len = keys.length;
                let idx = 0;                
                return{
                    next:()=>{
                       return{
                            value:this[keys[idx++]],
                            done:idx >= len
                        }
                    }
                }
            }

        })
        let it = person[Symbol.iterator]()
       console.log( it.next())
       console.log( it.next())
       console.log( it.next())
       console.log( it.next())
       console.log( it.next())

相关文章

  • Python高级知识点学习(六)

    Python中的迭代协议 迭代协议有两个概念: 可迭代类型(Iterable) 迭代器(Iterator) 迭代器...

  • Python中map函数的解释和可视化

    先重温一下迭代(Iteration)、迭代器对象(iterable)、迭代器(iterator )的概念: Ite...

  • python迭代器生成器

    首先理解几个概念,迭代、可迭代对象、迭代器。 1. 迭代器 迭代(Iteration):按顺序访问线性结构中的每一...

  • 迭代器的概念

    STL的算法库和容器库是分离开来的,STL通过迭代器的概念实现了算法对容器的操作,因此可以认为迭代器是一种遍历容器...

  • 迭代器的概念

    什么是迭代器 迭代器是一种代码组织模式,允许以一次一个的形式提取数据.ES6 实现的是为迭代器引入一个隐式的标准化...

  • 007-集合,list,set,map

    集合的概念 Collection集合 常用方法 迭代器 迭代器使用 迭代器的问题 泛型 代码演示: ArrayLi...

  • 浅谈python可迭代对象,迭代器

    迭代器 迭代器是一种更抽象的概念。 迭代是访问数据的一种方式。迭代器是一个可以记住遍历位置的对象,迭代器对象从集合...

  • 2021-12-25 Python-20

    初学时,被可迭代对象,迭代器和生成器绕的云里雾里。首先来区分一下这几个概念。 迭代器(iterator) 迭代器是...

  • python | 迭代器与生成器

    概念 迭代器 & 迭代器对象:两者是同一概念,实现了__iter__()、__next__()的实例对象,即可称为...

  • 迭代器迭代工具的使用与列表解析

    本章要点 迭代器的创建及其使用 列表的解析 装饰器的应用 迭代的概念: 迭代在数学上的概念:是依据一个公式在前一个...

网友评论

      本文标题:迭代器的概念

      本文链接:https://www.haomeiwen.com/subject/utgmfktx.html