Append an Item at the End of an Array in JavaScript or Node.js

Arrays are a commonly used data structure in JavaScript applications. Arrays represent a list of items that you can manipulate to your own needs. You can add new items to an existing array with ease.

This tutorial shows you three ways of appending new items to the end of an existing array.

Node.js Series Overview

3 Ways Adding Items to the End of a JavaScript Array

JavaScript comes with the Array#push method allowing you to push one or more items to the end of the array. You may also append new items by creating a new array using the spread operator to push existing items to the beginning. Another way is the concatenation of arrays creating a new one.

Let’s explore all options in the paragraphs below.

Push Items Into an Existing Array

The Array#push method appends one or more items to the end of the array.

*Notice: Array#push changes the values of the array, but doesn’t return the array with the newly added items. It returns the new array length:

const ids = [1, 2, 3]

const newArrayLength = ids.push(4)  
// 4
// the value of "ids" is [1, 2, 3, 4]

// or push multiple values

ids.push(5, 6, 7)  
// the value of "ids" is [1, 2, 3, 4, 5, 6, 7]

Spread and Append Items Into a New Array

You can also create a new array containing existing and new items. Create a new array and use the spread operator to add all items of an existing array to the beginning of the new array. Then, add all new items at the end:

const ids = [1, 2, 3]

const newIds = [...ids, 4]  
// [1, 2, 3, 4]

const newIds = [...ids, 4, 5, 6]  
// [1, 2, 3, 4, 5, 6]

Concat(enate) Items to an Array

Another idea is to concatenate existing and new items to a new array. Here you must concatenate new items onto the existing array. That keeps the order of appending new items to the end:

const ids = [1, 2, 3]

const newIds = ids.concat(4, 5, 6)  
// the value of "newIds" is [1, 2, 3, 4, 5, 6]

That’s it! All three ways allow you to append one or more items to the end of a JavaScript array.

What Should You Use?

Well, use what you like best!

I prefer Array#concat when building an array pipeline by chaining further operations, like Array#map, Array#filter, or Array#find.

In situations where I only want to append the item without additional operations, I’m using the spread operator.

In terms of performance: I don’t really care about performance optimizations on my side. I’m relying on the JavaScript runtime to optimize the code for me. This gives me the freedom of writing the code I like to read 😃

Explore the Library

Find interesting tutorials and solutions for your problems.