Я понял ответ после того, как написал код, очень похожий на этот. Game.rooms[roomName[i].name].find(FIND_CONSTRUCTION_SITES)
возвращает массив строительных площадок. То, что я написал, хранило массив в одном элементе другого массива, не проходя через этот новый массив. Он возвращал undefined точно так же, как вы получите, если бы не l oop через обычный одномерный массив. Мое лекарство было таким простым:
for(let i = 0; i < numberOfRooms; i++)
{
amountOfConstructionSites = Game.rooms[roomName[i].name].find(FIND_CONSTRUCTION_SITES);
}
Это решает две проблемы, с которыми я столкнулся в другой части кода, которую я писал. Игра ограничивает ваш код лимитом ЦП, поэтому, сохраняя массив строительных площадок для каждой комнаты, которой вы управляете, вы будете использовать большую часть этого лимита вместо того, чтобы использовать его в другом месте.