本篇文章主要是对 js 处理自己不能定义二维数组的方法进行了介绍,需要的朋友可以过来参考下,希望读大家有所帮助
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
- var a= new Array(new Array(1,2),new Array('b','c'));
- document.write(a[1][1]);
- 说白了,就是利用for循环定义二维数组!
- ?
- <script language="javascript" type="text/javascript">
- function Array_2(nRow,nColumn){
- var array1=new Array(); //定义一维数组
- for(i=0;i<nRow;i++){
- //将每一个子元素又定义为数组
- array1[i]=new Array();
- //----------------------------------------
- for(n=0;n<nColumn;n++){
- array1[i][n] = ''; //此时aa[i][n]可以看作是一个二级数组
- }
- //--------------------------------------
- }
- return array1;
- }
- var array_2= Array_2(3,2);
- array_2[0][1] = 1;
- array_2[0][2] = 2;
- array_2[1][1] = 3;
- array_2[1][2] = 4;
- document.write(array_2[1][2]);
- </script>
// 虚线部分还可以采用 js Array 内置对象的 push() 方法来实现,因为 arr1.push(arr2) 时候,将会把整个数组 arr2 做为一个元素添加到 arr1 数组中,所以虚线中的 for 循环完全可以用下面这条语句替换掉:array1[i].push(new Array(nColumn));
今天还发现,还可以这样定义也可以做成二维数组;
- var a= new Array(new Array(1,2),new Array('b','c'));
- document.write(a[1][1]);
ps:注意区分 push 和 concat 的区别!
push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法。
concat 方法返回一个 Array 对象,其中包含了 array1 和提供的任意其他项目的连接。要加的项目(item1 … itemN)会按照从左到右的顺序添加到数组。如果某一项为数组,那么添加其内容到 array1 的末尾。如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。
很好嘛!!!
来源: