遍历器 for...of 循环

Posted mrzhujl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遍历器 for...of 循环相关的知识,希望对你有一定的参考价值。

for...of 作为遍历所有数据结构的统一的方法,但不能直接遍历对象,因为没有 Symbol.iterator 遍历器接口

(所以可用 Object.keys( ) / Object.values( ) 去转一道,转成数组就可以用了。或者给obj [ Symbol.iterator ] = function( ){ ... })

 

ary.key( )  拿到数组的下标

value( )  拿到的是数组的每个值

entries( )  拿到的是:[ 下标,值 ]  这个样的一个形式的所有的数据。

 

Object.keys( ) 把对象的 key 值抽取出来放在数组中

Object.values( obj ) 把对象的 value 值抽取出来放在数组中

Object.entries( )

obj[Symbol.iterator] = function(){
  return{
    next:function(){
      return{
        value:传出去的值,
        done:false 没有遍历完 / ture 遍历完了
      }
    }
  }
}

 

以上是关于遍历器 for...of 循环的主要内容,如果未能解决你的问题,请参考以下文章

Javascript Symbol之迭代器让对象支持for..of遍历

Iterator接口(遍历器)和for/of循环

es6 语法 (iterator和for...of循环)

ES6 - 基础学习(13): Iterator(迭代器) 和 for...of 循环

Iterator 和 for...of 循环

15.Iterator和for...of循环