Skip to main content

push() vs concat()

Методи push() і concat() справді схожі - обидва додають елементи в масив, але роблять це зовсім по-різному.

1. push() - змінює (мутує) вихідний масив

javascript
const arr = [1, 2]; arr.push(3); console.log(arr); // [1, 2, 3]
  • Додає елемент(и) в кінець вихідного масиву.
  • Змінює (мутує) вихідний масив.
  • Повертає нову довжину масиву, а не сам масив.
javascript
const len = arr.push(4, 5); console.log(len); // 5 console.log(arr); // [1, 2, 3, 4, 5]

2. concat() - створює новий масив (не мутує)

javascript
const arr = [1, 2]; const newArr = arr.concat(3); console.log(arr); // [1, 2] - вихідний не змінився console.log(newArr); // [1, 2, 3]
  • Не змінює вихідний масив.

  • Повертає новий масив.

  • Можна об'єднувати кілька масивів або окремі значення:

    javascript
    const a = [1, 2]; const b = [3, 4]; const c = a.concat(b, 5, [6, 7]); console.log(c); // [1, 2, 3, 4, 5, 6, 7]

Порівняння поведінки

Властивістьpush()concat()
Змінює вихідний масивТакНі
ПовертаєНову довжинуНовий масив
ПриймаєОдин або декілька елементівМасиви та/або елементи
Створює копіюНіТак
МутаціяТакНі
Типова задачаДодати елемент до наявного масивуОб'єднати масиви

Приклад різниці:

javascript
const arr = [1, 2]; const arr2 = [3, 4]; // push() arr.push(...arr2); console.log(arr); // [1, 2, 3, 4] (масив змінився) // concat() const combined = arr.concat(arr2); console.log(combined); // [1, 2, 3, 4] console.log(arr); // [1, 2] (вихідний не зачеплено)

Коротко:

Характеристикаpush()concat()
Мутує масивТакНі
Повертаєчисло (length)новий масив
Додає в кінецьТакТак
Можна додати інший масивТак (через ...spread)Так, напряму
Використовувати призміні поточного масивустворенні нового

Висновок:

  • Якщо потрібно змінити поточний масив - використовуй push().
  • Якщо потрібно створити новий, не чіпаючи старий - використовуй concat().

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.