在JavaScript中没有二维数组的概念

在编写WebClinet端脚本时有时需要用到数组进行操作,javascript中声明数组的语法为

Dim 变量 = new Array();

需要注意的是,在javascript中没有二维数组的概念,只有一维。

例:

一维数组生成、赋值、显示方法
function GetArray()
{
var arr = new Array();
arr[0] = "0";
arr[1] = "1";

for(i=0;i<arr.length;i++)
{
alert(arr[i]);
}
}

// 二维数组生成、赋值、显示方法(此方法错误)
function Get2DArray()
{
alert('此种声明、赋值、显示二维数组方法不合法');
var arr = new Array();
//int[][] arr = new Array();这种写法根本不成立,不符合javascript语法,这样写会导致整个页面的javascript脚本都不能执行
arr[0][0] = 1;
arr[0][1] = 2;
arr[1][0] = 3;
arr[1][1] = 4;

for(i=0; i<arr.length;i++)
{
for(j=0; j<arr[i].length;j++)
{
alert(arr[i][j]);
}
}
}

这样的写法是声明数组的普遍方法(在其他语言中,尤其是被注释掉的那种写法),但事实证明这样的写法是不合法的,进一步说明javascript中没有对二维数组的定义。

想起一句老话“只有想不到,没有做不到,凡是都有解决方法”。

一个变通的方法,给一维数组的每个元素复制,其值也是一个一维数组。

// 二维数组生成、赋值、显示方法(变通方法)
function Get2DArray2()
{
var arr = new Array();
arr[0] = new Array();
arr[1] = new Array();

arr[0][0] = "00";
arr[0][1]="01";
arr[1][0]="10";
arr[1][1]="11";

for(i=0; i<arr.length;i++)
{
for(j=0; j<arr[i].length;j++)
{
alert(arr[i][j]);
}
}
}

阅读更多
文章标签: JavaScript J# 脚本
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭