玲儿灵

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  219 随笔 :: 2 文章 :: 7 评论 :: 14万 阅读

迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该方法中的内部表示。

js中我们经常会封装一个each函数用来实现迭代器。

array的迭代器:

forEach = function( ary, fn ){  for ( var i = 0, l = ary.length; i < l; i++ ){    var c = ary[ i ];    if ( fn.call( c, i , c ) === false ){      return false;    }   }} 
forEach( [ 1, 2, 3 ], function( i, n ){ 
  alert ( i ); 
}) 

obejct的迭代器:

forEach = function( obj, fn ){  for ( var i in obj ){    var c = obj[ i ];    if ( fn.call( c, i, c ) === false ){      return false;    }   }} 
forEach( {"a": 1,"b": 2}, function( i, n ){ 
  alert ( i ); 
}) 

 

posted on   玲儿灵  阅读(223)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· DeepSeek+PageAssist实现本地大模型联网
· 手把手教你更优雅的享受 DeepSeek
· Java轻量级代码工程
· 从 14 秒到 1 秒:MySQL DDL 性能优化实战
点击右上角即可分享
微信分享提示