Javascript .push()在数组中为哪些内容添加值?

Javascript .push()在数组中为哪些内容添加值?,javascript,arrays,Javascript,Arrays,我的问题是,如果在javascript中,我创建一个数组a=[2,3,4,5]并键入a[5]=10,然后键入a.push(5),那么编译器是将5添加到数组的末尾还是第一个未定义的位置 我发现它添加到数组的末尾,即a[6]==5。但我的问题是,编译器如何发现数组是否已结束?当然,如果一个数组标识了一个未标识的值,它就不能确定该数组是否已结束,因为该数组将在值5之后结束。那么,它是如何知道阵列已经结束的呢?来自MDN的以下摘要: push()方法将一个或多个元素添加到数组的末尾,并返回数组的新长度

我的问题是,如果在javascript中,我创建一个数组
a=[2,3,4,5]
并键入
a[5]=10
,然后键入
a.push(5)
,那么编译器是将5添加到数组的末尾还是第一个未定义的位置

我发现它添加到数组的末尾,即
a[6]==5
。但我的问题是,编译器如何发现数组是否已结束?当然,如果一个数组标识了一个未标识的值,它就不能确定该数组是否已结束,因为该数组将在值5之后结束。那么,它是如何知道阵列已经结束的呢?

来自MDN的以下摘要:

push()
方法将一个或多个元素添加到数组的末尾,并返回数组的新长度

它知道端点在哪里,因为数组的
长度始终为

var a=[1,2,3];
a[49]=4;
文件。写(a.连接(“-”);
文件。写(“
”); 写入(“数组长度:+a.length”); 文件。写(“
”); a、 推(5); 文件。写(“
”); 文件。写(a.连接(“-”); 文件。写(“
”); 写入(“数组长度:+a.length”)来自MDN的摘要:

push()
方法将一个或多个元素添加到数组的末尾,并返回数组的新长度

它知道端点在哪里,因为数组的
长度始终为

var a=[1,2,3];
a[49]=4;
文件。写(a.连接(“-”);
文件。写(“
”); 写入(“数组长度:+a.length”); 文件。写(“
”); a、 推(5); 文件。写(“
”); 文件。写(a.连接(“-”); 文件。写(“
”);
写入(“数组长度:+a.length”)
推送操作推送从
a[a.length]
开始的值,这导致数组增加N个项目(在所述示例中为1)


长度由使用的最大索引决定,因此在您的示例中,
[5]
如果最大索引和6是长度。

推送操作推送从
a[a.length]
开始的值,这会导致数组增加N个项目(在所述示例中为1)

长度由使用的最大索引决定,因此在您的示例中,如果最大索引和6是长度,则为
[5]