array.length- = 1 vs array.pop()

时间:2019-07-06 16:56:38

标签: javascript arrays pop

我知道数组是某种对象,但是它也有数字索引。 arr.length是一个属性,它不返回数组中元素的数量,而是最后一个索引+1。我们可以使用递减length或函数pop()删除最后一个元素。问题是:这两种方法有什么区别?

2 个答案:

答案 0 :(得分:7)

一些区别:

  • pop返回要删除的条目的值,而不分配给length

  • pop是方法调用;分配给length是分配操作。

  • 长度为pop的数组上的
  • 0返回undefined并且不更改数组。 array.length -= 1length的数组上的0会导致错误。

答案 1 :(得分:4)

.pop()还返回最后一个元素(通常需要):

   const last = array.pop();
  // vs
  const last = array[array.length - 1];
  array.length -= 1;

现在您可以自行决定以上哪一项更易读...