ОК, если массив, то все понятно, но каким образом Card.Suit становится массивом? В дебагере если я останавливаюсь на нем, то это объект-функция с некоторыми значениями. В Card.Suit свой метод foreach, который принимает 2 аргумента f и c. С первым f вроде понятно, туда передается функция cards.push(new Card(suit, rank), а что с "c"?