const - JS | lectureJavaScript Fundamentals 2

Basic Array Operations

JavaScript Fundamentals 2

JavaScript has some built-in functions that we can apply directly on arrays. These built-in functions are called methods, and we can think of methods as array operations.

Let's now learn some useful array methods. Before we start, I want to let you know that there are countless array methods in JavaScript. I plan to provide a dedicated section to arrays very soon, telling you how important they are in JavaScript.

In this lecture, as mentioned above, we are only going to see some basic ones you need to know and so that you start getting used to the idea of using methods on arrays.

Let's consider again our fruits array:

const fruits = ['Apple', 'Banana', 'Melon', 'Watermelon'];

Here are some of the basic methods used on JavaScript arrays:


The push method adds an element to the end of an array.

fruits.push('Citrus'); // Result ==> ['Apple', 'Banana', 'Melon', 'Watermelon', 'Citrus']

push is a method that we call, and we call that function really attached to the fruits array itself, and that's what the dot (.) just after the fruits array stands for.

If we now log our fruits array, you will see that we get the original array but now with our new element at the end.

Since push is a function, it means that it can return a value. We already know that we can pass arguments into functions, and we did that when we passed 'Citrus' into the push function. The function can then do some work, which is to add the element to the array, and actually, the push function does return a value, and the value that it returns is the length of the new array.

If we want to capture that value, we can create a new variable for that.

const newArrayLength = fruits.push('Citrus');
console.log(newArrayLength.length); // Result ==> 5

Most of the time, we don't do this. We just push an element and call it a day because we don't immediately need the length of the new array, but in case you need it, you already know what to do that 😉.


Besides the push method that adds an element to the end of the array, we use the unshift method to add elements to the beginning of the array.


If you now log the fruits array, you should find yourself with six elements, and the first element or fruit of the array should be 'Raspberries'. Just like the push method, the unshift method also returns the length of the new array.


The pop method is the opposite of the push method. It removes the last element of an array. We don't need to pass an argument in this method because there is no information needed to take out the last element.


When logging it, you will see that the 'Citrus' fruit is gone. The pop method does not return the length of the new array like push and unshift but instead it returns the removed element.

const removedElement = fruits.pop();
console.log(removedElement); // Result ==> 'Citrus'


The shift method is used to remove the first element of the array.

const removedElement = fruits.shift();

By running the above function, we will now be left with our initial array. Once again, on the shift method, we didn't need any argument, and just like the pop method, it will return the element that was removed.


The indexOf method is a method that tells us at what position an element is in the array.

console.log(fruits.indexOf('Apple')) // Result ==> 0

If we try the same thing for an element that is not in the array we will get -1.

To finish this lecture, there is a method a bit similar to indexOf, but which is more modern, I will say. It is an ES6 method, and it is called includes. The includes method does not return the index at which an element is found in an array but instead returns true if the element is in the array or false if it isn't.

console.log(fruits.includes('Apple')) // Result ==> true
console.log(fruits.includes('Lettuce')) // Result ==> false

The includes method uses strict equality to check if an element is in the array. You can try the below code snippet to check what I'm saying.

console.log(fruits.includes('17')) // Result ==> false
console.log(fruits.includes(17)) // Result ==> true