javascript自己实现多维数组遍历

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP ‘test3.jsp‘ starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<script src="js/jquery-2.1.1.min.js"></script>
	<script type="application/javascript">
		//遍历数组的每一项,只适合遍历一维数组
//		var array=[1,2,3,[4,[5]]];
//		array.forEach(function(item,index,array){
//			alert(item);
//		});
		//自己实现一个能遍历多维数组的Array each方法
		var array2=[1,2,3,[4,[5,[6]]]];
		Array.prototype.each=function(fn){
			try{
				//1.遍历数组的每一项
				this.i || (this.i=0);
				//严谨的判断,什么时候进入条件
				//当数组的长度大于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.apply(e,[e]);
							fn.call(e,e);
						}
						this.i++;
					}
					this.i=null;             //使用完i回收垃圾
				}
			}catch(ex){
				alert("出错");
			}
			return this;
		}
		array2.each(function(item){
			alert(item);
		});

	</script>

  </head>
  
  <body>
    This is my JSP page. <br>
  </body>
</html>
时间: 2024-10-26 16:04:56

javascript自己实现多维数组遍历的相关文章

二维数组遍历

问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 算法分析:可以直接遍历,不过时间复杂度太高,因为有序,可以从左下角查找,也可以从右上角查找. public class Array { //二维数组遍历 public boolean Find(int [][] array,int target) { for(int i = 0; i < array.length; i

2016/1/10 作业 1, 二维数组遍历输出求和 2,转置运算???? 3,九宫格?? 后两个存在问题

1 public class arr1 { 2 3 4 public static void main(String[] args) { 5 // 创建二维数组arr[][],输出二维数组所有元素的和. 6 7 int arr[][]={{1,3,5,7,9},{21,23,25,27,29}, 8 {12,14,16,18},{32,34,36,38}}; 9 int sum=0; 10 System.out.println("二维数组遍历"); 11 // for循环 遍历 求和

**PHP二维数组遍历时同时赋值

php 二维数组遍历赋值 我个人在项目中的写法: //遍历二维数组foreach($tmp_array as $key => $value){ //动态生成图片的URL $attach_url = $this->qiniu_utils->get_download_url($tmp_array[$key]['attach_save_name'] , '7vih5p.com1.z0.glb.clouddn.com', 'PRIVATE'); //赋值URL $tmp_array[$key][

java 多维数组遍历

java 多维数组遍历的顺序的性能问题 ps:下图为java多维数组内存分布原理.出自:http://math.hws.edu/javanotes/c7/two-dimensional-array.png 出自:http://www.importnew.com/16742.html

二维数组遍历的方式(for普通循环和foreach循环)

package com.Summer_0421.cn; /** * @author Summer * 二维数组遍历的方式for普通循环和foreach循环 */ public class Test03 { public static void main(String[] args) { show1(); show2(); } private static void show2() { int[][] its = new int[][]{{1},{1,2},{1,2,3},{1,2,3,4}};

6.javaScript中的二维数组

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <script type="text/javascript"> 7 //声明一维数组 8 var myarr = new Array(); 9 for (var i = 0; i < 3; i++) {

Java 多维数组遍历详解

数组是Java中的一种容器对象,它拥有多个单一类型的值.当数组被创建的时候数组长度就已经确定了.在创建之后,其长度是固定的.下面是一个长度为10的数组: public class ArrayDemo { private int arraySize=10; public int[] arrayOfIntegers = new int[arraySize]; } 上面的代码是一维数组的例子.换句话说,数组长度只能在一个方向上增长.很多时候我们需要数组在多个维度上增长.这种数组我们称之为多维数组.为简

汇编学习:二维数组遍历

作为正式接触汇编的开篇,本文将研究二维数组的遍历问题.在图像处理中,通常需要遍历图像像素(即二维数组).下面给出三个版本的遍历函数,并研究他们的汇编代码(VC2010编译器,x86版,Release模式). (1)在两层循环内每次根据行列索引计算元素位置. (2)为了避免在内存循环内的乘法计算,可在每次外层循环中计算好行起始地址,内层循环每次执行++操作. (3)将外层循环的乘法操作也去掉,在循环外部先计算好数组的起始地址,内层循环每次执行++操作即可. 测试程序实现对图像的反相操作(即B=25

多维数组遍历.php

$a=array('fruits'=>array('a'=>'orange','b'=>'grape','c'=>'apple'),     'numbers'=>array(1,2,3,4,5,6),     'holes'=>array('first',5=>'second','third') ); foreach($a as $v ){    foreach($v as $value ){        echo $value,"<br/&g