JavaScript 2D数组未捕获类型错误

JavaScript 2D数组未捕获类型错误,javascript,arrays,Javascript,Arrays,在一个需要向数组添加点的项目中工作。以下是创建并尝试向数组中添加对象的代码: var points = []; points[0] = []; points[0][0] = 0; //x-coord points[0][1] = 0; //y-coord points[points.length][0] = x; //Breaks on this line points[points.length][1] = y; 我得到的确切错误是未捕获的TypeError:无法设

在一个需要向数组添加点的项目中工作。以下是创建并尝试向数组中添加对象的代码:

var points = [];
    points[0] = [];
    points[0][0] = 0; //x-coord
    points[0][1] = 0; //y-coord

points[points.length][0] = x; //Breaks on this line
points[points.length][1] = y;

我得到的确切错误是未捕获的TypeError:无法设置未定义的属性“0”。每次按下按钮时都会运行此代码,并且其他值已设置为
ints
。我认为JavaScript允许您在运行时设置数组中的值?

最后一个数组索引是
points.length-1
。现在,您正在寻址超过数组末尾的元素(未定义的
元素),并尝试将其“0”属性的值指定为
x
。不允许在未定义的
上设置属性。

最后一个数组索引是
points.length-1
。现在,您正在寻址超过数组末尾的元素(未定义的
元素),并尝试将其“0”属性的值指定为
x
。不允许在未定义的
上设置属性。

您的数组包含:

var points = [
    [0,0]
]
然而

points[points.length]
//is
points[1]
这是不存在的。必须先创建数组,然后才能向其中添加内容

您的阵列包含:

var points = [
    [0,0]
]
然而

points[points.length]
//is
points[1]
这是不存在的。必须先创建数组,然后才能向其中添加内容


我建议改为使用对象数组:
points=[];点[0]={x:0,y:0}我建议改为使用对象数组:
points=[];点[0]={x:0,y:0}谢谢,我一发布,就意识到我正在初始化第二个数组,并且必须编写一个函数来实例化内部数组。谢谢你的及时回答!谢谢,我一发帖就意识到我正在初始化第二个数组,并且必须编写一个函数来实例化内部数组。谢谢你的及时回答!