Array each方法 遍历多维数组
Posted hurriediy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Array each方法 遍历多维数组相关的知识,希望对你有一定的参考价值。
<html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> // 自己实现一个 Array each方法 遍历多维数组 var arr=[1,2,3,[4,[5],[6]]]; Array.prototype.each=function(fn){ try{ // 目的:遍历数组的每一项 //计数器 记录当前遍历的数组元素的位置 this.i || (this.i=0); // 严谨的判断设么时候去走each核心方法 //当数组的长度大于0的时候&& 传递的参数必须为函数 if(this.length>0 && fn.constructor==Function){ // 循环数组的每一项 while(this.i<this.length){ //获取数组的每一项 var e=this[this.i]; //如果当前元素获取到了 并且当前元素是一个数组 if(e&&e.constructor==Array){ // 直接做递归操作 e.each(fn); }else{ //如果不是数组 (那就是一个单个元素) //这个目的就是为了把数组的当前元素传递给fn函数 并让函数执行 fn .call(e,e); } this.i++ ; } this.i=null; //释放内存 垃圾回收机制回收变量 } }catch(e){ //TODO handle the exception } return this; } arr.each(function(item){ alert(item); }) </script> </head> <body> </body> </html>
以上是关于Array each方法 遍历多维数组的主要内容,如果未能解决你的问题,请参考以下文章