美文网首页
迭代 for ...in 和 for ...of

迭代 for ...in 和 for ...of

作者: famingng | 来源:发表于2018-12-26 09:43 被阅读0次

//for ...in 以原始插入的顺序迭代对象的可迭代属性

let arr = [1,2,3];

var obj = {

name:'ldm',

age:20

}

// for (var key in arr){

// console.log(key)//0,1,2

// console.log(arr[key])//1,2,3

// }

for(var key in obj){

console.log(key)//name,age

console.log(obj[key])//'ldm',20

}

二、for...of  根据迭代对象的迭代器具体实现迭代对象数据

  迭代器:具体的迭代实现逻辑

  迭代对象:可被迭代的对象——[Symbol.iterator] 方法

for(var key of arr){

console.log(key)//1,2,3----这里的key是arr的值

}

var obj = {

   name:'ldm',

   age:20

}

for(var key of obj){

console.log(key)//报错,因为这里obj没有[Symbol.iterator] 方法

}

自定义迭代器

var obj = {

    name:'ldm',

    age:20

}

obj[Symbol.iterator] = function(){

  let keys = Object.keys(obj)//返回值是一个数组[]

  let len = keys.length;

  console.log(keys)

  let n = 0;

  return{

   next(){

      if(n<len){

         return {

            value:keys[n++],//obj的key的值

            done:false,//为true则不再迭代

         }

    }else{

        return {

          value:'',

          done:true,

        }

   }

  }

 }

}

for(var key of obj){

   console.log(key)//报错,因为这里obj没有[Symbol.interator] 方法

}

相关文章

  • 迭代 for ...in 和 for ...of

    //for ...in 以原始插入的顺序迭代对象的可迭代属性 let arr = [1,2,3]; var ...

  • Python中的迭代器和生成器

    今天我们来学习下Python中的迭代器和生成器。 迭代和可迭代对象 在学习迭代器之前,我们需要了解下迭代和可迭代对...

  • 可迭代和迭代器

    原文参考:https://baijiahao.baidu.com/s?id=1605521786183411929...

  • stream系列——初识stream

    初识stream 1、对于迭代来说,包含内部迭代和外部迭代。 外部迭代:(程序逻辑自己控制迭代过程) 内部迭代:(...

  • 第7章迭代器模式

    第7章迭代器模式 7.1 jQuery中的迭代器 7.2 实现自己的迭代器 7.3 内部迭代和外部迭代 1内部迭代...

  • 【2017-09-21】迭代器与生成器(二)

    反向迭代和迭代切片 反向迭代问题:你想反方向迭代一个序列通常做法:使用内置的 reversed() 函数 反向迭代...

  • 迭代器

    本节实验我们将为大家讲解迭代器,主要介绍 5 种常见迭代器:输入、输出迭代器,前向逆向迭代器,双向迭代器和随机迭代...

  • Python三大神器之迭代器详解

    我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。 可迭代 一个对象...

  • 可迭代对象和迭代器

    判断 可通过模块collections.abc和isinstance函数来验证一个对象是否是可迭代(Iterabl...

  • 理解迭代器/生成器

    完全理解Python 迭代对象、迭代器、生成器 迭代和生成操作总结 Python迭代器 http://www.ji...

网友评论

      本文标题:迭代 for ...in 和 for ...of

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