首页 > 试题广场 >

有如下代码片段: var a=[]; a[0]=1; a[1

[单选题]
有如下代码片段,请问 a.length 的值是多少?
var a=[];
a[0]=1;
a[1]=2;
a[2]=3;
a[5]=4; 


  • 会报错
  • 3
  • 4
  • 6
var a = [];
a[0]=1; a[1]=2; a[2]=3; a[5]=4;
则数组a为
Array[6]
0: 1
1: 2
2: 3
3:undefined
4:undefined
5: 4
length: 6
__proto__: Array[0]
发表于 2016-12-12 17:05:24 回复(6)
var a=[];
创建一个长度为0的数组;
a[5]=4;
数组长度自动延长到6,没有赋值的元素均为undefined
发表于 2017-09-02 10:26:16 回复(0)
js中,数组会自动根据最大下标延长一位,既下标为n,则数组的长度为n+1。没有填值默认为undefinded。
发表于 2018-03-22 18:00:14 回复(1)
**,没看到陷阱,把a[5]=4看成了a[3]=4
发表于 2016-12-28 16:21:42 回复(4)
数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。
设置 length 属性可改变数组的大小。如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失。如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined
发表于 2019-11-26 19:51:53 回复(1)
6,没有赋值的为null
发表于 2017-02-13 22:08:56 回复(4)
最后创建了一个稀疏数组,长度为最后索引+1
发表于 2023-09-20 15:58:05 回复(0)
太绕了
发表于 2023-07-05 19:06:24 回复(0)
未被赋值的均为undefined
发表于 2022-11-29 09:56:09 回复(0)
let arr = []
arr[0] = 1
arr[2] = 2
arr[1,underfined,2]
//所以长度为3

发表于 2022-11-18 21:07:25 回复(0)
眼睛是个好东西,我看成了
var a=[];
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4; 

发表于 2022-10-04 10:47:43 回复(0)
给个5的选项我估计就选错了, 粗心粗心
发表于 2022-03-07 09:03:59 回复(0)
a =  [1, 2, 3, empty, empty, 4]
a.length = 6
发表于 2022-01-17 19:28:54 回复(0)
js数组自动扩容
发表于 2021-12-28 00:31:42 回复(0)
D 6
a[ ] 内是索引,a[5]代表索引为5的元素,所以a的length为6。
发表于 2021-11-29 15:58:37 回复(0)
三四为undefined
发表于 2021-09-03 09:06:48 回复(0)
var a=[];  a[0]=1;  a[1]=2;  a[2]=3;  a[5]=4; 则 a=[1,2,3,,,4];
编辑于 2021-08-01 01:46:07 回复(0)
 
索引最终代表了数组的长度
发表于 2021-05-13 09:01:35 回复(0)
<p>最大得位置5,其他的补齐undefined</p><p><br></p>
发表于 2020-10-21 15:18:56 回复(0)
var a=[]; 
a[0]=1; a[1]=2; a[2]=3; a[5]=4; 
//则 a=[1,2,3,,,4];

发表于 2020-09-18 21:21:41 回复(0)