array.length- = 1 против array.pop () - PullRequest
2 голосов
/ 06 июля 2019

Я знаю, что массив - это некий объект, но он также имеет числовые индексы. И arr.length - это свойство, которое возвращает не количество элементов в массиве, а последний индекс + 1. Мы можем удалить последний элемент, используя декремент length или функцию pop(). И вопрос: в чем разница между этими методами?

Ответы [ 2 ]

7 голосов
/ 06 июля 2019

Некоторые различия:

  • pop возвращает значение удаляемой записи, присвоение length не делает.

  • pop - это вызов метода;присваивание length является операцией присваивания.

  • pop для массива, длина которого составляет 0, возвращает undefined и не изменяет массив.array.length -= 1 в массиве с length из 0 вызывает ошибку.

4 голосов
/ 06 июля 2019

.pop() также возвращает последний элемент (который часто требуется):

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

Теперь вы можете сами решить, какой из вышеперечисленных пунктов более читабелен ...

...