Как понять нижеуказанный код Javascript?
function largestOfFour(matrix) {
  let results = []; // переменная для хранения самых больших чисел из каждой строки матрицы

  // итерация по матрице
  for (let rowIndex = 0; i < matrix.length; i++) {
    // переменнная, в которой будет храниться самое большое число из текущей строки матрицы
    let largestNumber = matrix[rowIndex][0]; // первый элемент текущей строки в качестве значения по умолчанию
    // итерация по строке матрицы
    for (let rowElementIndex = 1; j < matrix[rowIndex].length; j++) {
      // если текущий элемент больше самого большого числа на текущем этапе итерации_
      if (arr[rowIndex][rowElementIndex] > largestNumber) {
        // самым большим числом становится текущий элемент строки матрицы
        largestNumber = arr[rowIndex][rowElementIndex];
      }
    }
    // после итерации по строке матрицы сохраняет самое большое число
    results[rowIndex] = largestNumber;
  }
  
  return results;
}

Этот код очень императивный, не пиши так. Ты можешь конечно разобраться как работает этот код, но самому тебе такой код не придётся писать (я надеюсь). Вот пример этой же функции, которая делает всё то же самое, но код получился гораздо лаконичнее:
function largestOfFour(arr) {
  return arr.map((row) => Math.max(...row))
}

UPDATE: в комментариях под этим ответом есть обсуждение касаемо императивного кода. Отвечая автору вопроса я не имел в виду, что императивный код плохой и нельзя писать императивный код. Я имел в виду, что фронтендеру зачастую следует избегать императивности во время разработки (тем более, во время решения тривиальных задач)
function largestOfFour(arr) { 
  let results = []; //аккамулятор результатов
  for (let i = 0; i < arr.length; i++) { //для каждой строки матрицы arr
    let largestNumber = arr[i][0]; //пердпологаем, что первое число в строке является максимальным
    for (let j = 1; j < arr[i].length; j++) { //для всех чисел в строке, начиная со второго
      if (arr[i][j] > largestNumber) { // если текущее число больше нашего текущего максимума
        largestNumber = arr[i][j]; // обновляем значение максимума
      }
    }
    results[i] = largestNumber; //кладём текущий максимум в аккамулятор
  }

  return results; //возвращаем аккамулятор как результат работы функции
}