对以下代码说法正确的是?
js
let arr = [1,2,3,4,5];
let arr2 = [1, , 3];A. 执行 arr.length = 3,此时数组为 [1,2,3] B. 执行 arr[10] = 11,此时 arr.length 为 6 C. 执行 delete arr[2],此时 arr.length 为 4,数组为 [1,2,4,5] D. arr2.length 的长度为 2
答案: A
解析:
考察的是数组的length属性:
- 设置数组的length值为小于当前值的非负整数n,则任何索引大于或等于n的数组元素都会从数组中被删除
- 如果给一个索引为i的数组元素赋值,而i大于或等于数组当前的length,则数组的length属性会被设 置为i+1
- 对数组元素使用delete操作符不会修改length属性,使用splice()会
- 如果省略数组字面量中的一个值,被省略的元素是不存在的,但它的索引是存在的