Javascript中的数组长度

时间:2014-10-25 19:23:36

标签: javascript arrays

我是编程和Javascript的绝对初学者,正在观看道格拉斯·克罗克福德的一个视频,他说下面的内容

  

与对象不同的数组具有特殊长度成员

     

它总是比最高整数下标大1

在这个数组中

var a = [1,2,3,4,5,6,7]

a.length等于7。

所以我不太确定1大于最大整数的下标是什么意思?它只是来自旧版Javascript的过时信息还是我错过了什么?

4 个答案:

答案 0 :(得分:0)

长度等于数组中元素的数量,并且索引从0开始,理解它就像你不是以1开头而不是0,所以你将比总元素(长度)少1。所以

长度=总元素

last index = length-1;

答案 1 :(得分:-1)

数组从0开始索引(第一个元素),但长度是1(一个元素)(如果没有元素,数组的长度不会为-1,长度为0;如果有2个元素,第二个元素的索引为1,长度为2)。

答案 2 :(得分:-1)

这只意味着数组的长度总是 *它的最大索引+ 1.

考虑:

var a = [];
a[6] = 'foo';
console.log(a.length) //7
a[20] = 'bar';
console.log(a.length) //21

*实际上并非总是如此,例如当您使用带有数字参数的数组构造函数:var a = new Array(5)时,数组为空,但它的length明确地设置为5

答案 3 :(得分:-2)

索引和长度不同。虽然JavaScript数组将从0开始,但长度始终是真实数字。这很有用,因为在切片上,最后一个数字不包括在内。