JavaScript中关于操作数组,通过这道题,帮你搞懂四个重要知识点

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

在JavaScript中操作数组,是经常要做的一件事,可见正确处理数组的问题是多么的重要,今天,我通过一道题来聊一下,JavaScript在处理数组时,一定要搞懂(或者记住)的四个重要知识点。

一,看输出结果

JavaScript中关于操作数组,通过这道题,帮你搞懂四个重要知识点

上面这道题输出结果是一样的。

输出:'array 1:length=10 last=g,a,o,m,a,s,h,i'

输出:'array 2:length=10 last=g,a,o,m,a,s,h,i'

如果这个结果不是你认为那样, 那说明有几个点你并没有搞懂,不管怎样,我们来看一下这道题涉及的几个关键知识点。

二,分析涉及到哪些知识

第一点:reverse

在调用数组对象的reverse()方法时,不仅会以相反的顺序返回数组,还会颠倒数组本身的顺序。如上面arr1所示。在进行reverse之后,输出就是:["g", "n", "e", "h", "z", "o", "a", "i", "x"]。

第二点:返回的是引用

通过reverse方法之后返回的是对数组本身的引用。所以,上面代码中,arr2仅仅是对arr1的引用,而不是一个副本。因此,当对arr2做任何事情时(即,当我们调用arr2.push(arr3);)时,arr1也会受到影响,因为arr1和arr2只是对同一个对象的引用。

第三点:push

push方法会将整个数组作为单个元素推入数组的末尾。如上代码所示,arr2的最后一个元素就是arr3。由于返回引用的原因,arr1的最后一个元素也是arr3。

第四点:slice

负下标规定从数组尾部开始算起的位置。也就是说,-1指最后一个元素。

'小郑搞码事'.slice(-1)

输出:"事"

'小郑搞码事'.slice(-3,-1)

输出:"搞码"

最后总结一下:

代码写多了,你自然就发现,这些东西是经常要用的。搞懂让代码少出BUG。


分享到:


相關文章: