我知道数组是某种对象,但是它也有数字索引。 arr.length
是一个属性,它不返回数组中元素的数量,而是最后一个索引+1。我们可以使用递减length
或函数pop()
删除最后一个元素。问题是:这两种方法有什么区别?
答案 0 :(得分:7)
一些区别:
pop
返回要删除的条目的值,而不分配给length
。
pop
是方法调用;分配给length
是分配操作。
pop
的数组上的 0
返回undefined
并且不更改数组。 array.length -= 1
为length
的数组上的0
会导致错误。
答案 1 :(得分:4)
.pop()
还返回最后一个元素(通常需要):
const last = array.pop();
// vs
const last = array[array.length - 1];
array.length -= 1;
现在您可以自行决定以上哪一项更易读...