Skip to main content

Command Palette

Search for a command to run...

JavaScript Arrays 101

Updated
7 min readView as Markdown
JavaScript Arrays 101

Arrays are one of the most useful and widely used data structures in JavaScript. Whenever we need to store multiple related values—such as a list of users, products, scores, or passengers—we use arrays. Instead of creating many separate variables, arrays allow us to group values together and work with them efficiently.

JavaScript also provides powerful array methods that make it easy to add items, remove items, transform values, filter data, or calculate results. These methods help developers write cleaner and more readable code.

In this guide we will explore important array concepts and methods including:

  • Creating arrays

  • Array length behavior

  • push() and pop()

  • shift() and unshift()

  • map()

  • filter()

  • reduce() (basic explanation)

  • forEach()

  • Array copying and slicing

  • Searching arrays (includes, indexOf, find)

  • Checking arrays with Array.isArray()

Each example includes actual output written beside the code so you can clearly understand how arrays behave.


Creating Arrays in JavaScript

Arrays can be created using square brackets []. This is the most common and recommended way.

const carriage1 = ["Veer", "Ayush", "Ravi"];

console.log(carriage1);
// ["Veer", "Ayush", "Ravi"]

Here the array represents passengers inside a train carriage.

Each element in the array has an index starting from 0.

Index:      0       1       2
Array:  ["Veer","Ayush","Ravi"]

Arrays can also be empty.

const emptyCarriage = [];

console.log(emptyCarriage);
// []

Creating Arrays with the Array Constructor

JavaScript also allows arrays to be created using the Array() constructor.

Example:

const threeEmptySeats = Array(3);

console.log(threeEmptySeats.length);
// 3

This creates an array with three empty slots.

Another example:

const passenger = Array("Veer", "Ayush", "Ravi");

console.log(passenger);
// ["Veer", "Ayush", "Ravi"]

Creating Arrays with Array.of()

Array.of() creates an array from the values passed to it.

const singlePassenger = Array.of(3);

console.log(singlePassenger);
// [3]

This avoids confusion that sometimes occurs with Array(3).


Creating Arrays with Array.from()

Array.from() converts iterable values into arrays.

Example converting a string into characters:

const trainCode = Array.from("DUST");

console.log(trainCode);
// ["D", "U", "S", "T"]

Each character becomes an element in the array.


Understanding Array Length Behavior

The length property controls how many elements an array contains.

const tempTrain = ["A", "B", "C", "D", "E"];

tempTrain.length = 3;

console.log(tempTrain);
// ["A", "B", "C"]

When we reduce the length, the extra elements are removed.

Now increase the length again:

tempTrain.length = 5;

console.log(tempTrain);
// ["A", "B", "C", empty × 2]

The array grows but the new slots are empty.


push() – Adding Elements to the End

The push() method adds elements to the end of an array.

let passengers = ["Veer", "Ayush"];

passengers.push("Ravi");

console.log(passengers);
// ["Veer", "Ayush", "Ravi"]

Before:

["Veer","Ayush"]

After push:

["Veer","Ayush","Ravi"]

This method mutates the original array.


pop() – Removing the Last Element

The pop() method removes the last element.

let passengers = ["Veer", "Ayush", "Ravi"];

passengers.pop();

console.log(passengers);
// ["Veer", "Ayush"]

The last passenger "Ravi" is removed.


shift() – Removing the First Element

The shift() method removes the first element from the array.

let passengers = ["Veer", "Ayush", "Ravi"];

passengers.shift();

console.log(passengers);
// ["Ayush", "Ravi"]

The first passenger "Veer" is removed.


unshift() – Adding Elements to the Beginning

unshift() adds elements to the beginning of an array.

let passengers = ["Ayush", "Ravi"];

passengers.unshift("Veer");

console.log(passengers);
// ["Veer", "Ayush", "Ravi"]

splice() – Inserting or Removing Elements

splice() is a powerful mutating method that can remove or insert elements.

let passengers = ["Veer", "Ayush", "Ravi"];

passengers.splice(1, 1);

console.log(passengers);
// ["Veer", "Ravi"]

Explanation:

  • Start at index 1

  • Remove 1 element


Mutating vs Non-Mutating Methods

Some array methods change the original array, while others return a new array.

Mutating methods:

push
pop
shift
unshift
splice

Non-mutating methods:

concat
slice
flat
flatMap

Example using slice() to copy an array:

const wholeTrain = ["A", "B", "C"];

const trainCopy = wholeTrain.slice();

console.log(trainCopy);
// ["A", "B", "C"]

The original array remains unchanged.


Searching Inside Arrays

JavaScript provides several ways to search inside arrays.

indexOf()

const passengers = ["Veer", "Ayush", "Ravi"];

console.log(passengers.indexOf("Ayush"));
// 1

It returns the index of the element.


includes()

console.log(passengers.includes("Ravi"));
// true

This checks whether the value exists in the array.


find()

find() returns the first element that matches a condition.

const numbers = [5, 10, 20];

const result = numbers.find(num => num > 8);

console.log(result);
// 10

forEach() – Executing Code for Each Element

forEach() runs a function for every element.

const passengers = ["Veer", "Ayush", "Ravi"];

passengers.forEach(function(name) {
  console.log(name);
});

// Veer
// Ayush
// Ravi

It does not return a new array. It simply performs an action.


map() – Transforming Arrays

map() creates a new array by transforming each element.

const numbers = [1, 2, 3];

const doubled = numbers.map(function(num) {
  return num * 2;
});

console.log(doubled);
// [2, 4, 6]

Original array remains unchanged:

console.log(numbers);
// [1, 2, 3]

filter() – Selecting Specific Values

filter() returns elements that match a condition.

const numbers = [5, 12, 8, 20];

const greaterThanTen = numbers.filter(function(num) {
  return num > 10;
});

console.log(greaterThanTen);
// [12, 20]

reduce() – Combining Values

reduce() processes all elements and produces a single result.

Example calculating total sum.

const numbers = [5, 10, 15];

const total = numbers.reduce(function(sum, value) {
  return sum + value;
}, 0);

console.log(total);
// 30

Step-by-step:

0 + 5 = 5
5 + 10 = 15
15 + 15 = 30

Final result: 30


Checking Whether a Value Is an Array

Sometimes we need to verify whether a value is an array.

console.log(typeof []);
// object

Even though arrays are objects internally, we should use Array.isArray().

console.log(Array.isArray([]));
// true

console.log(Array.isArray("Ravi"));
// false

Important Key Points About Arrays

Here are some important things to remember about JavaScript arrays:

  1. Arrays can be created using [] or Array().

  2. Arrays use 0-based indexing.

  3. Mutating methods modify the original array.

  4. Non-mutating methods return new arrays.

  5. Searching methods include includes, indexOf, and find.

  6. Use Array.isArray() to check if a value is an array.


Conclusion

Arrays are essential in JavaScript because they allow programs to manage collections of data efficiently. By using methods such as push, pop, shift, and unshift, we can easily modify arrays. Methods like map, filter, and reduce allow us to process data in powerful and readable ways, while forEach helps execute operations for every element.

Understanding these array methods and behaviors helps developers write cleaner, more efficient JavaScript programs. These concepts appear frequently in real-world applications such as handling API responses, processing lists of users, managing application state, and transforming data for display.