码迷,mamicode.com
首页 > 编程语言 > 详细

Array each方法 遍历多维数组

时间:2018-07-23 14:43:40      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:就是   执行   java   handle   cat   数组元素   ==   array   asc   

<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方法 遍历多维数组

标签:就是   执行   java   handle   cat   数组元素   ==   array   asc   

原文地址:https://www.cnblogs.com/hurriediy/p/9354059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!