.pop()

Удаляет последний элемент массива и возвращает значение удалённого элемента.

Время чтения: меньше 5 мин

Кратко

Скопировано

Метод pop() удаляет из массива последний элемент и возвращает значение удалённого элемента. Метод pop() является изменяющим методом, так как изменяет массив, для которого он был вызван.

Пример

Скопировано

Удалим из массива последний элемент:

        
          
          const days = ['пн', 'вт', 'ср', 'чт']const lastItem = days.pop()console.log(days)// ['пн', 'вт', 'ср']console.log(lastItem)// чт
          const days = ['пн', 'вт', 'ср', 'чт']
const lastItem = days.pop()

console.log(days)
// ['пн', 'вт', 'ср']

console.log(lastItem)
// чт

        
        
          
        
      

Как пишется

Скопировано

Array.pop не имеет аргументов.

Array.pop возвращает удалённый элемент.

Если массив не имеет элементов, метод вернёт undefined:

        
          
          const array = []const firstItem = array.pop()console.log(firstItem)// undefined
          const array = []
const firstItem = array.pop()

console.log(firstItem)
// undefined

        
        
          
        
      

Как понять

Скопировано

Метод pop() позволяет удалить из массива последний элемент и получить его значение.

Для удаления последнего элемента также может быть использован метод splice():

        
          
          const colors = ['red', 'green', 'blue']colors.splice(-1, 1)console.log(colors)// ['red', 'green']
          const colors = ['red', 'green', 'blue']

colors.splice(-1, 1)

console.log(colors)
// ['red', 'green']

        
        
          
        
      

Подсказки

Скопировано

💡 Существует ещё один способ удаления элементов в конце массива. Для этого можно уменьшить значение свойства length, определяющего длину массива.

Сократим массив на два элемента:

        
          
          const numbers = [8, 16, 32, 64, 128]numbers.length = numbers.length - 2console.log(numbers)// [8, 16, 32]
          const numbers = [8, 16, 32, 64, 128]

numbers.length = numbers.length - 2

console.log(numbers)
// [8, 16, 32]