Kom*_*eem 5 javascript multidimensional-array
我对如何在javascript中创建和访问二维数组感到困惑.下面是一个数组声明,我在其中存储人物的名称,然后存储他们的图像的src.当我尝试访问myArray [0] [0]元素时,我得到'D',当我尝试访问myArray [0,0]时,我得到了唐老鸭.如何访问img src myArray [0] [0] ="assets/scrybe.jpg"?
JS代码:
var myArray = new Array(1);
myArray[0] = "Donald Duck";
myArray[1] = "Winnie Pooh";
myArray[2] = "Komal Waseem";
myArray[3] = "Hockey";
myArray[4] = "Basketball";
myArray[5] = "Shooting";
myArray[6] = "Mickey Mouse";
myArray[0][0] = "assets/scrybe.jpg";
myArray[1][0] = "assets/scrybe.jpg";
myArray[2][0] = "assets/scrybe.jpg";
myArray[3][0] = "assets/scrybe.jpg";
myArray[4][0] = "assets/scrybe.jpg";
myArray[5][0] = "assets/scrybe.jpg";
myArray[6][0] = "assets/scrybe.jpg";
Run Code Online (Sandbox Code Playgroud)
0x4*_*2D2 13
首先,要创建一个数组,最好使用方括号表示法([]):
var myArray = [];
Run Code Online (Sandbox Code Playgroud)
这是您在JavaScript中模拟多维数组的方式.它是数组中的一个或多个数组.
var myArray = [
[], [] // two arrays
];
Run Code Online (Sandbox Code Playgroud)
如果你问是否有办法将数组声明为多维,那么不,没有.您可以像这样访问它们:
myArray[0][0]; // the 1st element of the first array in myArray
myArray[1][1]; // the 2nd element of the second array in myArray
Run Code Online (Sandbox Code Playgroud)
以下是您可能正在寻找的代码:
var myArray = [
["Donald Duck", "assets/scrybe.jpg"],
["Winnie Pooh", "assets/scrybe.jpg"],
["Komal Waseem", "assets/scrybe.jpg"]
[/* and so on...*/]
];
Run Code Online (Sandbox Code Playgroud)
但是,由于您为所有名称提供了相同的URL,因此您可以使用for循环来更快地执行此操作:
for (var i = 0; i < myArray.length; i++) {
myArray[i][1] = "assets/scrybe.jpg";
}
Run Code Online (Sandbox Code Playgroud)
也许你真正想要的是一个对象数组:
var myArrray = [
{ name: "Donald Duck", image: "assets/scrybe.jpg" },
{ name: "Winnie Pooh", image: "assets/scrybe.jpg" },
// ...
];
Run Code Online (Sandbox Code Playgroud)
JavaScript本身并不具有二维数组.你可以做的是创建一个数组,使每个元素也是一个数组.
var twoDim = [ [], [], [], [], [] ];
Run Code Online (Sandbox Code Playgroud)
但是,在您的情况下,我认为这种结构不会有太大帮助.