首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我不能使用这个数组的长度号呢?

为什么我不能使用这个数组的长度号呢?
EN

Stack Overflow用户
提问于 2016-02-27 20:59:38
回答 3查看 47关注 0票数 0

我创建了一个数组,当我试图获得数组的长度时,它工作得很好。

代码语言:javascript
运行
复制
var map = [
  [3, 0, 0, 2],
  [7, 6, 6, 8],
  [7, 6, 6, 8],
  [5, 1, 1, 4]
];

var i = map.length;

i输出4

当我尝试使用i变量来获得使用var j = map[i].length;的列时,控制台返回"map[i]是未定义的“。为什么这不起作用,但是用一个实际的数字替换i是有效的吗?

这里是一个例琴,只是取消了第11行的注释。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-27 21:02:34

正如您所说,i等于4。JS数组索引从0开始,因此数组中的最后一个元素是map[3],这意味着在map[4]没有任何元素。

您需要执行map[i-1] --这段代码应该可以工作:

代码语言:javascript
运行
复制
var j = map[i-1].length;

这是在你的小提琴手上工作的:https://jsfiddle.net/zk7f8Ls2/2/

票数 2
EN

Stack Overflow用户

发布于 2016-02-27 21:02:26

因为表索引是零基。表长为4,但索引为0、1、2和3。当您尝试访问索引4时,您将得到一个错误。

票数 2
EN

Stack Overflow用户

发布于 2016-02-27 21:06:41

这是因为i是4,如果您想看到数组的最后一项-1 map[i-1],请记住数组以0开头。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35675383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档