javascript - Javascript:如何调用数组数组中的不同对象?
问题描述
我试图了解如何从下面的代码中提取特定项目。
var snake = [[{x : 20, y : 30}],[{x : 40, y: 50}]];
来自 python,我发现这在处理 for 循环以将我的所有对象都放在数组中的数组中时很有用。
例如,我想x:
从第一个对象容器中提取第一个值。我以为snake[0][0].x
会回来20
,而且snake[1][1].y
会回来50
。但相反,我收到:Uncaught TypeError: Cannot read property 'x' of undefined
var snake = [[{x : 20, y : 30}],[{x : 40, y: 50}]];
snake[0][0].x;
snake[1][1].y;
我是 JavaScript 新手,试图理解为什么这不起作用,以及是否有办法编写它以便它可能。提前谢谢你的帮助。
解决方案
您遇到的问题是您的第二个陈述,snake[1][1]
.
第二个对象将被引用snake[1][0]
。
第一个索引指的是最外层数组中的位置,每个后续索引指的是数组的下一个内部级别。由于每个内部数组只有一个值(其中的对象),因此 0 以外的任何索引都将返回未定义的错误。
您可以使用 来验证这一点snake[1][0].y
,它会返回 50,正如您所期望的那样。
推荐阅读
- docker - 无法以新图像获得本地颁发者证书
- git - 尝试通过 SSH 进行 git clone 但出现管道损坏错误
- python - 返回 python 字符串作为 HTTP 响应的主体
- asp.net-mvc - 在 Visual Studios 中弄乱起始页现在会打开 403.14 错误
- r - 在 R 中的数据帧之间减去值
- php - 如何从此 Android 应用程序获取此 Google 登录 ID 令牌以验证服务器端?
- java - 正则表达式匹配某个位置的字符并忽略之后的字符
- html - 绝对定位的元素不显示在溢出父项内
- css - wordpress功能中的分页代码
- html - 使用 HTML 表单从用户提交预定文件