前端基础题-P3

AI发展看样子可以替代IT?当然不是,还早,关注AI没错,但不要忘了基础,基础是根本,AI是工具,工具再强大,也离不开人的操作。最近看到一个关于JS数组的问题,分享一下。

1
2
3
4
5
6
7
8
9
10
11
12
const list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const list2 = [,undefined, null, '', 0, false, NaN, 1,];

for (let item of list) {
console.log(item);
list2.map(item => console.log(item));
}

console.log('list2.length', list2.length);

// 1、输出啥
// 2、list2长度是多少

输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
1
undefined
null

0
false
NaN
1
2
undefined
null

0
false
NaN
1
3
undefined
null

0
false
NaN
1
4
undefined
null

0
false
NaN
1
5
undefined
null

0
false
NaN
1
6
undefined
null

0
false
NaN
1
7
undefined
null

0
false
NaN
1
8
undefined
null

0
false
NaN
1
9
undefined
null

0
false
NaN
1
10
undefined
null

0
false
NaN
1

8

考察点

  1. 数组头部,意味着前面有个空槽,但是尾部的话,并不会多一个空槽。
  2. 数组遍历,空槽元素不会触发callback,但注意是不触发callback,而不是不执行,因此每次的index都是正确的,比如第一个打印出来会是1,而不是0。