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方法 遍历多维数组的主要内容,如果未能解决你的问题,请参考以下文章

jquery里遍历普通数组和多维数组的方法及实例

PHP 数组遍历方法大全(foreach,list,each)

不使用foreach递归遍历多维数组

求教一个JQ 遍历 生成多维数组的问题

jquery数组封装使用方法分享(jquery数组遍历)

急! jquery $.each 嵌套循环遍历