我想在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 ]