JavaScript中,有关数组的“空插槽”和undefined,务必要注意这些

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

今天这篇来搞一个轻松一点话题,就是有关数组的空插槽和undefined我们需要注意些什么。分两段代码来讲

第一段代码如下:

JavaScript中,有关数组的“空插槽”和undefined,务必要注意这些

这段代码我依次给a[0],a[1],a[2],a[9]分别定义三个值1,2,3,99。这样的话数组a会发生什么呢?

先看一下a输出什么:

JavaScript中,有关数组的“空插槽”和undefined,务必要注意这些

就如我们看到的,JavaScript引擎将使阵列插槽3至8成为“空插槽”(emptyx6)。

那么console.log(a[6])输出什么呢?

输出:undefined

没错,在这里,a [6]将输出未定义的值,但时隙仍为空,而不是未定义的。

其实这个undefined和空插槽还是有些差别,在使用上要特别注意,看第二段代码。

第二段代码如下:

JavaScript中,有关数组的“空插槽”和undefined,务必要注意这些

如上面这段代码,先看这个时候b的输出:

JavaScript中,有关数组的“空插槽”和undefined,务必要注意这些

b[0]是undefined。除b[3]为2其它都是"空插槽"。这种情况,我们用map来处理一下,看看会发生什么。

JavaScript中,有关数组的“空插槽”和undefined,务必要注意这些

输出结果:

JavaScript中,有关数组的“空插槽”和undefined,务必要注意这些

最后总结:

在使用数组时,有关数组的"空插槽"和undefined,务必关注一下。


分享到:


相關文章: