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

来源:互联网 发布:女友 拳击 知乎 编辑:程序博客网 时间:2024/05/16 04:50

在编写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]);
        }
    }
}

原创粉丝点击