点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!
今天这篇来搞一个轻松一点话题,就是有关数组的空插槽和undefined我们需要注意些什么。分两段代码来讲
第一段代码如下:
这段代码我依次给a[0],a[1],a[2],a[9]分别定义三个值1,2,3,99。这样的话数组a会发生什么呢?
先看一下a输出什么:
就如我们看到的,JavaScript引擎将使阵列插槽3至8成为“空插槽”(emptyx6)。
那么console.log(a[6])输出什么呢?
输出:undefined
没错,在这里,a [6]将输出未定义的值,但时隙仍为空,而不是未定义的。
其实这个undefined和空插槽还是有些差别,在使用上要特别注意,看第二段代码。
第二段代码如下:
如上面这段代码,先看这个时候b的输出:
b[0]是undefined。除b[3]为2其它都是"空插槽"。这种情况,我们用map来处理一下,看看会发生什么。
输出结果:
最后总结:
在使用数组时,有关数组的"空插槽"和undefined,务必关注一下。
閱讀更多 小鄭搞碼事 的文章