Published May 6, 2021Updated Dec 24, 2021
Contribute to Docs

Arrays are lists of ordered, stored data. They can hold items that are of any data type.


Arrays can be created by using square brackets, with individual elements separated by commas.

// An array containing numbers
const numberArray = [0, 1, 2, 3];
// An array containing different data types
const mixedArray = [1, 'chicken', false];

Another way to creating a new instance of the Array class and passing the elements as a comma-separated list of arguments:

const classArray = new Array(0, 1, 2, 3);

Creating an Array

The most straightforward way to create an array is using an array literal as in the above example.

const fruit = ['Apple', 'Orange', 'Banana'];

Whitespace is ignored and declarations can span multiple lines.

Arrays can also be created with the Array class by using the new keyword and passing in the elements as arguments:

const fruit = new Array('Apple', 'Orange', 'Banana');

Though, because the effect is exactly the same, it is preferable to use the literal method for simplicity and execution speed.

Accessing the Elements of an Array

Array elements are ordered by index values, starting at 0:

  • Index 0 has the first element.
  • Index 1 has the second element.
  • Index 2 has the third element.
  • Index n-1 has the nth element.

Individual elements in the array can be accessed using the array name and the element’s index surrounded by square brackets.

This code accesses the value of the first element in the fruit array:

const fruit = ['Apple', 'Orange', 'Banana'];
// Output: Apple

Array elements can be changed by accessing the element and assigning a new value to it.

const fruit = ['Apple', 'Orange', 'Banana'];
fruit[1] = 'Mango';
// Output: Mango

Accessing an array using an unused index will return undefined. However, a new value can still be assigned to an unused index of an array. When doing so, any gaps in the assigned indices will remain undefined.

const fruit = ['Apple', 'Orange', 'Banana'];
fruit[4] = 'Mango'; // a valid assignment
// Output: undefined

Nested Arrays

Any object can be an element of an array, including other arrays. Arrays with one or more arrays as elements are referred to as “nested arrays”. Similar to accessing the elements of a regular array, accessing elements within nested arrays requires the additional indices for referencing inner array elements.

// Create a nested array
const food = [
['Apple', 'Orange', 'Banana'],
['Strawberry', 'Blueberry', 'Raspberry'],
['Potato', 'Carrot', 'Broccoli'],
// Retrieve the food string at index 2 of the array at index 1
// Output: Raspberry
// Retrieve the food string at index 1 of the array at index 0
// Output: Orange

The same process applies to nested arrays that themselves contain nested arrays. The more “nested” the array, the more indices, or bracket pairs [ ], are required for accessing their elements.



Returns the element at a specified index in an array.
Merges, or concatenates, two or more arrays.
Returns a mutated array with part of it copied to another location in the same array, and its length unchanged.
Checks if all elements in an array satisfy the condition specified by the given function.
Creates a new array with all elements that pass the test from the provided function.
Returns the first element in the array that satisfies the given function.
Returns the first index that passes the callback function's test. Returns -1 if no element passes the test.
Returns the last instance of an element in an array that meets the specified condition.
Iterates through the array in reverse order and returns the index that passes the provided testing function.
Loops over the array, passing each item in the array into the callback function provided.
Returns true if a given value is included in an array.
Returns the first index at which an element can be found. Returns -1 if element is not found.
Returns true for arrays, otherwise false.
Elements of an array are converted to strings and concatenated together, returning the resulting string.
Returns the last index at which an element can be found.
Returns the specific number of elements in the array.
Creates a new array with the results of calling a function for every element in array.
Removes the last element of an array, decrements the array length, and returns the value that it removed.
Adds one or more elements to the end of the array and returns the new length.
Combines each element of an array, using a specified reducer function, and returns a single value.
Reverses the order of the elements of an array in place and returns the reversed array.
Removes and returns the first element of the array. All subsequent elements will shift down one place.
Returns a shallow copy of part of array, while original array is not modified.
Runs a conditional through an array and returns a boolean if any value fulfills the conditional.
Returns an array with its items sorted in place.
Modifies an array by inserting, deleting, and/or replacing array elements then returns an array of deleted elements.
Reverses the elements within the array and returns a new copy of the array.
Takes an array and returns a new array with all the elements sorted in ascending order.
Returns a new array with deleted, replaced, or inserted values at the given index.
Returns a string with each of the array values, separated by commas. Does not mutate the original array.
Adds one or more elements to beginning of array and returns new length.
Returns the value of all the elements of the original array.
Returns a copy of an array with the given modification.

All contributors

Looking to contribute?

Learn JavaScript on Codecademy