When we have a loop running inside another loop, we call that a nested loop. One use for a nested for
loop is to compare the elements in two arrays. For each round of the outer for
loop, the inner for
loop will run completely.
Let’s look at an example of a nested for
loop:
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 arrays have the number: ' + yourArray[j]); } } }
Let’s think about what’s happening in the nested loop in our example. For each element in the outer loop array, myArray
, the inner loop will run in its entirety comparing the current element from the outer array, myArray[i]
, to each element in the inner array, yourArray[j]
. When it finds a match, it prints a string to the console.
Now it’s your turn to write a nested loop!
Note: To exit out of an infinite loop in an exercise, refresh the page - then fix the code for your loop(s).
Instructions
Imagine you’re a big-wig programmer for a social media platform! You have been tasked with building a prototype for a mutual followers program. You’ll need two arrays of “friends” from two mock users so that you can extract the names of the followers who exist in both lists. Make a variable called bobsFollowers
and set it equal to an array with four strings representing the names of Bob’s friends.
Make a variable called tinasFollowers
and set it equal to an array with three strings representing the names of Tina’s friends. Make exactly two of these the same as two of the friends in the bobsFollowers
array.
Create a third variable named mutualFollowers
and set it to an empty array.
Create a nested loop that iterates through bobsFollowers
as the array for the outer loop and tinasFollowers
as the array for the inner loop. If the current element from the outer loop is the same as the current element from the inner loop, push that element into the mutualFollowers
array.