а зачем так много обработчиков? сделать один общий обработчик на враппер, к каждой фотке — data-collapse="#item-1" и всё не проще ли?
не смотрел, что он делает, но почему бы не проверять был ли клик внутри модалки или нет? (modal.includes(e.target))
может, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex ?
а какие могут быть подводные камни? что там, что там приходит один и тот же ответ
если проще взять и сделать на jq, зачем что-то искать?
если есть ключи в объекте имеешь ввиду?
а при отправке запроса что в Network?
а бэк на чем написан?
и какие соображения?
что тут можно не понять?)
зачем так извращаться?
а как записываешь?