Сортировка объектов 4/5. Вопрос по синтаксису

мое решение
var getSortedArray = function (arr, key) {
  for (var i = 0; i < arr.length - 1; i++){
   
    for (var j = i+1; j < arr.length ; j++){ 
       if (arr[j][key] < arr[i][key]) {
       var swap = arr[i]
        arr[i] = arr[j]
       arr[j] = swap
      }
    }
  }
  return arr
}

Почему к ключу нужно стучатся так? arr[j][key] ? В процессе решения был сбит с толку. Проверял на массиве консоль лог.

var arr = [
{
name: ‘Петя’,
age: 5
},
{
name: ‘Лёля’,
age: 2
},
{
name: ‘Сима’,
age: 3
}
];

console.log(arr[1][name]);— андефайнед
console.log(arr[1].name); ---- ‘Лёля’

Потому что key — это параметр, а name — реальное свойство объекта.

1 Симпатия