2016-11-17 146 views
1

在JavaScript中,鉻控制檯:爲什麼`--array.length`刪除數組的最後一個元素?

var test = [0, 1, 2, 3, 4] 
> undefined 
var lastIdx = --test.length 
> undefined 
lastIdx 
> 4 
test 
> [0, 1, 2, 3] 
var lastIdx = --(test.length) 
> undefined 
lastIdx 
> 3 
test 
> [0, 1, 2] 

正如你已經看到的,我只是想通過--array.length得到數組的最後一個指標,但遺憾的是數組的最後一個元素得到意外刪除,實在無法理解這是怎麼發生的,有人能解釋一下嗎?

+0

「 - 」並不意味着「只比這個數字少一個」。它也減少你應用它的任何東西。 – user2357112

+0

一如既往,JS和他的奇怪的東西... – felipsmartins

+0

使用var lastIdx = test.length - 1 –

回答

3

--x遞減x並返回新值。 (x--遞減x並返回舊值。)所以--test.length減少了1

如果你只是想獲得最後一個索引,而無需修改長度的長度,這將是test.length - 1

+1

換句話說,就像是說'array.length = array.length - 1' –

相關問題