# Compare 2 arrays in Javascript

Hi, here is the solution in Javascript for this problem that is commonly asked in interviews.

Problem:

Create a function in Javascript that takes two inputs:

1. – The first array is an array of strings such as: [‘bear’, ‘ant’, ‘viper’, ‘d’];

2. – The second array is an array that defines a desired order of the first letters: [‘a’, ‘b’, ‘c’, ‘e’, ‘z’, ‘d’]

The function should return a Boolean that determines if array #1 follows the order defined by array 2.

First Solution:

``````// Function that compare the 2 arrays
function arrayComparation(words, letters) {
// Valitations to make sure that arrays are correct
if (words.length <= 0 || letters.length <= 0 || words.length !== letters.length) {
return false;
}

// For to go through every position in the array - this for is not just for words array
for (let i = 0; i < words.length; i++) {

// Comparison if the first letter of words is different to the letter array in that position  (i)
if (words[i][0] !== letters[i]) {

// Just printing the first letter and the letter of the second array
console.log('words --->', words[i][0]);
console.log('letter --->', letters[i]);

// returning false
return false;
} else  {
// if is true increment
i++;
}
}

// function returning
return true;
}

arrayComparation(['ant', 'boy', 'cristina', 'daniel', 'xove', 'fernando'], ['a', 'b', 'c', 'd', 'e', 'f']);``````

Result:

Second solution:

``````// Function that compare the 2 arrays
function arrayComparation(words, letters) {
// Valitations to make sure that arrays are correct
if (words.length <= 0 || letters.length <= 0 || words.length !== letters.length) {
return false;
}

//For to go through every position in the array - this for is not just for words array
for (let i = 0; i < letters.length; i++) {
if (!letters.includes(words[i][0])) {
return false;
} else {
i++;
}
}

return true;
}

console.log(arrayComparation(['ant', 'boy', 'cristina', 'daniel', 'xeve', 'fernando'], ['a', 'b', 'c', 'd', 'e', 'f']));
``````

Result:

Third solution:

``````// Function that compare the 2 arrays
function arrayComparation(words, letters) {
// Valitations to make sure that arrays are correct
if (words.length <= 0 || letters.length <= 0 || words.length !== letters.length) {
return false;
}

let result = true;

letters.forEach((letter, i) => {
if (!letters.includes(words[i][0])) {
result = false;
} else {
i++;
}
});

return result;
}

console.log(arrayComparation(['ant', 'boy', 'cristina', 'daniel', 'eve', 'fernando'], ['a', 'b', 'c', 'd', 'e', 'f']));
``````

Result:

Four solution:

``````// Function that compare the 2 arrays
function arrayComparation(words, letters) {
// Valitations to make sure that arrays are correct
if (words.length <= 0 || letters.length <= 0 || words.length !== letters.length) {
return false;
}

let result = true;

letters.forEach((letter, i) => !letters.includes(words[i][0]) ? result = false : i ++)

// function returning
return result;
}

console.log(arrayComparation(['ant', 'boy', 'cristina', 'daniel', 'eve', 'fernando'], ['a', 'b', 'c', 'd', 'e', 'f']));
``````

Result:

By Cristina Rojas.