Win*_*sun 1 javascript multidimensional-array
var arr = [[],[]];
var si = 5;
var c = 0;
if (arr[si][c] == null)
{
arr[si][c] = {
code : "Test",
};
}
alert(arr[si][c].code);
Run Code Online (Sandbox Code Playgroud)
您好,我正在尝试运行此示例代码,但我收到一个错误,说无法调用未定义的属性"0".
尴尬的是,如果我使用数值而不是变量"si"和"c"作为索引,则错误不会显示出来!
是否有可能在JS中你不能将变量用作索引?我认为它确实适用于非二维数组.
感谢你并致以真诚的问候
JavaScript没有任何二维数组的概念.只是包含其他数组的数组.
arr[si][c]是arr[5][0].
arr是一个包含两个成员(0和1)的数组,每个成员都是一个数组.
当你访问时,arr[5]你得到的undefined是因为你已经超越了结束.
undefined[0] 是一个错误.
尴尬的是,如果我使用数值而不是变量"si"和"c"作为索引,则错误不会显示出来!
如果使用文字而不是变量,则会出现相同的错误.据推测,您的工作测试涉及不同的数字.
var arr = [[],[]];
if (arr[5][0] == null)
{
arr[5][0] = {
code : "Test",
};
}
alert(arr[5][0].code);Run Code Online (Sandbox Code Playgroud)