为什么我不能使用这个数组中的长度数字
How come I can't use the length number from this array?
我创建了一个数组,当我尝试获取数组的长度时,它工作正常。
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
有效?
这是一个示例 jsfiddle,只需取消注释第 11 行。
i
等于4,正如你所说。JS数组索引从0开始,所以数组中的最后一个元素是map[3]
这意味着map[4]
处没有元素
您需要执行map[i-1]
- 此代码应该有效:
var j = map[i-1].length;
这是它在你的jsfiddle中工作:https://jsfiddle.net/zk7f8Ls2/2/
因为表索引是从零开始的。表长度为 4,但索引为 0、1、2 和 3。当您尝试访问索引 4 时,将收到错误。
这是因为i
是 4,请记住数组以 0
开头,如果您想查看数组的最后一项,只需添加 -1 map[i-1]
相关文章:
- JavaScript 在数组中查找缺少的数字
- 在javascript数组中分散数字
- 将数组键转换为数字node.js
- 删除JS数组中的最小数字
- 创建具有2个唯一数字的Javascript数组
- Javascript按数字顺序排序()数组
- 如何将数字切成更小的数字以适合我的数组
- Javascript中的非数字索引多维数组
- 指定数组中的元素对,其总和等于特定的目标数字
- 从数组/字符串中删除所有小数和单个数字
- 从数组[Javascript]的总长度中减去一个干净的数字
- 如何获取数组中数字的最大出现次数
- 如何将数字相加并将结果放入数组中
- JS:从数组中查找特定范围内的最低/最高数字
- 返回最大数字的数组
- 将数组中的所有数字组合相加
- 在数组中生成随机数,没有任何重复的数字
- 循环遍历数字和字母数组并仅提取数字
- 给定一个带有数字的数组,我如何编写一个递归函数,当 2 个元素加起来为一个目标时,它会在数组中查找索引
- 函数给出输入数字*数组的长度,而不是输入数字*数组的值(javascript)