Javascript数组返回所有的最后一个条目

时间:2015-07-05 03:27:05

标签: javascript multidimensional-array

我正在尝试在JavaScript中设置多维数组,但它返回所有数据的最后一个条目。我期待警报返回444,但它返回555。

有什么想法吗?

function test() {
    var arr = [,];
    arr[1]="qtest0";
    arr[1,0]=444;
    arr[2,0]=555;
    arr[2]="qtest1";
    alert(arr[1]);
    alert(arr[1,0]);
}

1 个答案:

答案 0 :(得分:6)

本声明:

var arr = [,];

是否会创建多维数组。它创建一个稀疏数组,其中包含一个空槽。这句话:

arr[1,0]=444;

是否分配给二维数组索引。相反,表达式1,0简单地计算为0(这是有点模糊的逗号运算符的工作方式)。因此arr[1,0]arr[0]完全相同。

Javascript本身不支持多维数组。相反,你应该有一个数组,其元素本身就是数组:

var arr = [];
arr[1] = [];
arr[1][0] = 444;

有关多维数组的更多信息,请参阅this question