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。


分享到:


相關文章: