我想在Javascript中创建一个二维数组,在其中存储坐标(x,y)。我还不知道会有多少对坐标,因为它们将由用户输入动态生成。

预定义2d数组的示例:

var Arr=[[1,2],[3,4],[5,6]];

我想我可以使用PUSH方法在数组末尾添加新记录。

如何声明一个空的二维数组,以便在我使用第一个Arr.push()时将其添加到索引0,并且push写入的每个下一条记录都将获取下一个索引?

这可能很容易做到,我只是JS的新手,如果有人可以编写一个可以检查的简短工作代码段,我将不胜感激。谢谢

最佳答案

您可以像这样声明一个常规数组:

var arry = [];

然后,当您有一对要添加到数组中的值时,您要做的就是:
arry.push([value_1, value2]);

是的,第一次调用arry.push时,这对值将放置在索引0处。

从nodejs repl:
> var arry = [];
undefined
> arry.push([1,2]);
1
> arry
[ [ 1, 2 ] ]
> arry.push([2,3]);
2
> arry
[ [ 1, 2 ], [ 2, 3 ] ]

当然,由于javascript是动态类型化的,因​​此将没有类型检查器强制数组保持二维。您将必须确保仅添加坐标对,而不要执行以下操作:
> arry.push(100);
3
> arry
[ [ 1, 2 ],
  [ 2, 3 ],
  100 ]

10-07 23:30