构建一个 Javascript 多维数组构造器, By shawl.qiu

原创 2007年09月19日 23:32:00

构建一个 Javascript 多维数组构造器, By shawl.qiu


说明:
首先嘛, JS 的数组是一维的...
如果咱想创建一个多维数组的话, 那就得在数组元素中 创建数组...
大部分时候这样是无可厚非的.

如果在明确知道需要N维数组的情况下, 还用这种麻烦的方法...
那太不人性化了...

所以鄙人就构造了这么一个多维数组构造器...希望能方便多维数组的操作.

shawl.qiu
2007-09-19
http://blog.csdn.net/btbtd

演示:
http://files.myopera.com/btbtd/web/Multi-Array_Constructor.htm

内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>shawl.qiu template</title>
<style type="text/css">
/* <![CDATA[ */

/* ]]> */
</style>
<script type="text/javascript">
/*<![CDATA[*/
 if (navigator.appName=="Microsoft Internet Explorer") 
 {
  //最大化窗口
  self.moveTo(-5,-5)
  self.resizeTo(screen.availWidth +8,screen.availHeight+8)
  //这个脚本定义的宽度其实比原窗口还要大那么一点.
 }
/*]]*/
</script>
</head>
<body>
<script type="text/javascript">
/*<![CDATA[*/
 var Ar = fArray(234)
 document.write(Ar.length+" "+Ar[0].length+" "+Ar[0][0].length+" "+typeof(Ar[0][0][0])"<br/>");
 
 var Ar = fArray(1010)
 document.write(Ar.length+" "+Ar[0].length+" "+typeof(Ar[0][0])"<br/>");
 //alert(Ar.length)
 
 function fArray()
 { // shawl.qiu code, return array; Func: fGetArg
  var Len = arguments.length;
  if(Len===0) return [];
  
  var Arg = fGetArg.apply(thisarguments)
  //alert(Arg.slice(1))
  
  var Ar = new Array(arguments[0]);
  
  for(var i=0, j=arguments[0]; i<j; i++)
  {
   if(Len>1)
   Ar[i] = fArray.apply(null, Arg.slice(1))
  } // end for
  
  if(typeof(Ar[0])=="undefined")
  {
   var Count = Ar.length;
   for(var i=0; i<Count; i++)
    Ar[i] = "";
  }

  return Ar;
 } // end function fArray()
 
 function fGetArg()
 { // shawl.qiu code, return array
  var Ar = [];
  var Len = arguments.length;
  for(var i=0; i<Len; i++)
  {
   Ar[i] = arguments[i];
  }
  return Ar;
 } // end function fGetArg()
/*]]*/
</script>
</body>
</html>




 

构建一个 Javascript 多维数组构造器

说明:首先嘛, JS 的数组是一维的...如果咱想创建一个多维数组的话, 那就得在数组元素中 创建数组...大部分时候这样是无可厚非的.如果在明确知道需要N维数组的情况下, 还用这种麻烦的方法...那...
  • fightplane
  • fightplane
  • 2007年09月20日 11:35
  • 800

Squel.js: 基于JavaScript的SQL查询构建器

摘要: 有时候,我们不知道我们的 SQL 查询是怎样的,因为大部分时候这些语句都是动态创建的。或者,你也正在寻找一个解决方案,使 SQL 查询更可读。Squel.js,一个轻量级的 JavaScrip...
  • zzzkk2009
  • zzzkk2009
  • 2013年05月17日 08:55
  • 772

javascript原型和多维数组遍历

我们创建的每一个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。 原型对象实际就是一个构造函数的实例对象,与普通...
  • bq1073100909
  • bq1073100909
  • 2015年09月26日 12:39
  • 1991

对象构造器和原型

对象构造器和原型 原文地址:http://www.javascriptkit.com/javatutors/oopjs2.shtml OOP(面向对象编程Object-Oriented P...
  • simonezhlx
  • simonezhlx
  • 2016年03月01日 17:13
  • 1016

js遍历不规则的多维数组

直接进入正文: 我们有时候处理数据,可能会遇到一些不规则(无法预料的数据结构),那么拿到这种数据我们如何进行遍历操作呢?举个例子: var data= { a: { one: 1,...
  • badmoonc
  • badmoonc
  • 2017年09月28日 15:23
  • 421

朝花夕拾——你了解构造器初始化顺序吗?

在java程序中,创建java对象,其初始化顺序总是先调用最顶层父类的初始化操作,包括初始化块和构造器,然后再向下调用其他类的初始化操作。 类和实例的初始化顺序可以参考 朝花夕拾——看清java实例变...
  • u010794180
  • u010794180
  • 2015年07月28日 17:26
  • 1659

浅谈JavaScript设计模式——构造器模式(生成器模式)

工厂模式虽然解决了重复实例化的问题,但无法识别对象类型。 可以采用构造函数(构造方法)可用来创建特定的对象,可以解决工厂模式无法识别对象实例的问题。也就是说,使用构造函数的方法 ,即解决了重复实例化的...
  • zhouziyu2011
  • zhouziyu2011
  • 2017年04月02日 15:25
  • 287

javascript构造器属性

当我们创建对象时,实际上也同时赋予了该对象构造器属性 constructor,该属性指向用于创建该对象的构造函数的引用 声明一个构造函数 //声明一个构造函数 构造函数首字母应大写 function ...
  • likaixuan1998
  • likaixuan1998
  • 2016年10月09日 18:04
  • 391

javascript中实际上是不支持多维数组

*由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了.并且在这点...
  • tong_xing
  • tong_xing
  • 2009年08月18日 20:00
  • 1825

构造器还是构建器

在实例化一个类的过程中,通常会遇到多个参数的构造函数,但如果有些参数是非必需的呢?每次都要初始化那么多参数么? public class Person { private int id;...
  • sunxiaohang7
  • sunxiaohang7
  • 2018年01月14日 15:34
  • 7
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:构建一个 Javascript 多维数组构造器, By shawl.qiu
举报原因:
原因补充:

(最多只允许输入30个字)