How to Compare Two JavaScrpt Arrays

To compare two Arrays in JavaScript, you should check that the length of both arrays should be the same, the objects presented in it be the same type, and each item in one array is equivalent to the counterpart in the compared array.

This tutorial will show you some ways of comparing two arrays.

The JSON.stringify() method

One of the methods is converting both strings to JSON string and compare the strings to each other to determine equality. The JSON.stringify() method is used to convert the array to a string:

let firstArr = [1, 2, [3, 4, 5]];
let secondArr = [1, 2, [3, 4, 5]];
let isEqual = JSON.stringify(firstArr) === JSON.stringify(secondArr);
console.log(isEqual);

If the array contains null and undefined, the given solution won’t work.

The toString() Method

You can also invoke toString() for camparing an array of numbers and string:

let firstArr = [1, 2, 3, 4, 5];
let secondArr = [1, 2, 3, 4, 5];
let isEqual = firstArr.toString() === secondArr.toString();
console.log(isEqual);

The Array.prototype.every() Method

An alternate way of the above solution is Array.prototype.every() to compare each element of the array with the elements of another array:

let firstArr = [1, 2, 3, 4, 5];
let secondArr = [1, 2, 3, 4, 5];
let isEqual = firstArr.length === secondArr.length &&
 firstArr.every((value, index) => value === secondArr[index]);
console.log(isEqual);

Arrays

Arrays are list-like objects, and their elements are properties with names 0, 1, 2 .. etc. They have special properties: length and many functions that manipulate the elements. Neither the length nor the types of the elements are fixed.

The arrays are zero-indexed, meaning that the first element is at index 0, and the index of the last element is equivalent to the value of the length property minus 1.


Do you find this helpful?

Related articles