Как вставить элементы в начало массива в JavaScript?

Вставка элементов в начало массива

У меня массив и я хочу добавить к нему новые значения в начале. Работаю на JavaScript, ищу наилучший способ выполнения этой задачи.

Пример

Допустим, у меня есть массив:

[15, 28, 39, 42]

И я получил новое значение 77 с сервера. Хочу, чтобы конечный массив был таким:

[77, 15, 28, 39, 42]

Текущий способ

Сейчас я делаю это так:

var updatedArray = [];
updatedArray.push(serverResponse);

for (var j = 0; j < originalArray.length; j++) {
    updatedArray.push(originalArray[j]);
}

originalArray = updatedArray;
updatedArray = null;

Вопрос

Существует ли в JavaScript встроенный метод для такой операции? Есть ли более эффективные способы? Интересует время выполнения, так как моё решение работает за O(n).

Твой код слишком громоздкий) Хочешь новый массив? Используй concat: var newArray = [serverResponse].concat(originalArray). Работает везде. Если массив огромный и нужна скорость — попробуй arraybuffer, но это уже другая тема.

Попробуй использовать unshift(). Это самый простой способ для добавления элемента в начало массива. Просто напиши originalArray.unshift(77) и всё! Код станет гораздо чище, хоть время выполнения все равно останется O(n).

Можешь через spread оператор: const newArray = [serverResponse, ...originalArray]. Более функциональный подход — не мутирует исходный массив. Производительность как у unshift, но код современнее и оригинал остается нетронутым.