Javascript 为什么`--array.length`删除数组的最后一个元素?
在javascript中,chrome控制台:Javascript 为什么`--array.length`删除数组的最后一个元素?,javascript,Javascript,在javascript中,chrome控制台: 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.
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
获取数组的最后一个索引,但不幸的是数组的最后一个元素意外地被删除了,真的无法理解为什么会发生这种情况,有人能解释一下吗?--x
递减x
,并返回新值。(x--
递减x
并返回旧值。)因此--test.length
将长度减少1
如果您只想在不修改长度的情况下获取最后一个索引,那就是
test.length-1
--
并不意味着“比这个数字少一个”。它也会减少你应用它的次数。和往常一样,JS和他的古怪玩意儿…使用var lastIdx=test.length-1@felipsmartins-预期行为没有什么奇怪的,换句话说,这就像说array.length=array.length-1