Understanding why each array was assigned

In the lesson example they give this:

const myArray = [6, 19, 20];
const yourArray = [19, 81, 2];
for (let i = 0; i < myArray.length; i++) {
  for (let j = 0; j < yourArray.length; j++) {
    if (myArray[i] === yourArray[j]) {
      console.log('Both loops have the number: ' + yourArray[j])
    }
  }
};

So the first question is why add the inner loop to the statement (instead of both);

and the test portion solution is:

let bobsFollowers = ['Joe', 'Marta', 'Sam', 'Erin'];
let tinasFollowers = ['Sam', 'Marta', 'Elle'];
let mutualFollowers = [];

for (let i = 0; i < bobsFollowers.length; i++) {
  for (let j = 0; j < tinasFollowers.length; j++) {
    if (bobsFollowers[i] === tinasFollowers[j]) {
      mutualFollowers.push(bobsFollowers[i]);
    }
  }
};

So here, why is it the exact opposite and the 1st array is pushed?

Since both elements are the same, we can push the value from either array.

so are you saying that in both examples that I could have you either because the condition was ===?

Yes. The === operator indicates identity, meaning they are exactly alike. It’s important that only the matches make it into the common array.

Thanks I appreciate it