以下为ChatGPT自动生成的解答,正确与否请自行判断。

BFE.devAI解答 - JavaScript 小测验
21. Array I

该代码会输出:

1
4
0
undefined
undefined
0
3
3
[ '0', '3' ]
1
0 undefined undefined

解释:

  • console.log(a.length) 的第一行打印了a数组当前的长度,即1。
  • a[3] = 3 将 a 数组的第 4 个索引位置的元素值赋为 3,这时候 a 数组的长度变为了 4。
  • for...of 循环在第 3 行输出数组中的每一个元素,此时只有第一个元素值为 0。
  • a.mapa.forEach 遍历从 a[0]a[3] 的所有元素,输出如下:
    undefined
    undefined
    0
    3
  • Object.keys(a) 返回一个只包括 a 数组索引值的对象键的数组,返回值为:['0', '3']
  • delete a[3] 从 a 中删除第 4 个索引位置的元素, 即 3。此时 a 数组的长度又变回了 1。
  • a[2] = 2 在数组中添加一个元素,其值为 2,此时 a 数组中有两个元素。
  • a.length = 1 将 a 数组的长度设置为 1,但是第 2 个和第 3 个元素的值依然存在,只是不可访问。所以,第 2 个值为 undefined,第 3 个值为 undefined