https://stackoverflow.com/questions/4215737/how-to-convert-an-array-into-an-object fetch('https://rakipov.ru/web/plan-test/document/information_about_objects.txt') .then((response) => response.arrayBuffer()) .then((data) => { // получаем данные из txt data = new TextDecoder('windows-1251').decode(data); const rows = data.split("="); // массив const rowsO = rows.reduce((a, v) => ({ ...a, [v.trimStart().slice(3,7)]: Object.fromEntries(v.trimStart().slice(7).trim().split(/\n\n/gm).map(str => str.split(/\n|\r|\r\n/gm)))}), {}); // ключ/значение document.querySelectorAll('.info_region[id^="info_"]').forEach((item, index) => { // фильтр let idNum = rowsO[item.id.slice(5)]; if (idNum["Статус:"] == "Вторая очередь") item.classList.add('second'); if (idNum["Статус:"] == "Забронирован") item.classList.add('booked'); if (idNum["Статус:"] == "Продан") item.classList.add('sold'); item.querySelector(".info_region_square").innerHTML = idNum["Площадь участка:"]; item.querySelector(".info_region_cost").innerHTML = idNum["Стоимость участка в собственность:"]; item.querySelector(".info_region_quarter").innerHTML = idNum["Квартал:"]; if (idNum["Электричество (точка подключения):"].slice(0,3) == "Нет") item.classList.add('noelectricity'); if (idNum["Линия газоснабжения (точка подключения):"].slice(0,3) == "Нет") item.classList.add('nogasification'); if (idNum["Граница с лесом:"].slice(0,3) == "Нет") item.classList.add('noborder'); }) }); // [v.trimStart().slice(3,7)] - из строки убрать пробелы впереди и взять 4 симлова id // Object.fromEntries () - в объект // v.trimStart().slice(7).trim() - из строки убрать пробелы впереди, первые 7 символов и пробелы после них // split(/\n\n/gm) - разбить строку на массив пустой строки // map(str => str.split(/\n|\r|\r\n/gm)) - разбить получившиеся строки на ключ/значение по переносу строки id_0398 Участок №: 398 Статус: Вторая очередь Площадь участка: 10,22 сот Кадастровый номер: 66:25:1321002:398 публичная кадастровая карта(ссылка) https://pkk.rosreestr.ru Стоимость за сотку: 120 000 руб. Стоимость участка в собственность: 1 226 400 руб. Линия газоснабжения (точка подключения): Да, Газификация в 2025 г. Электричество (точка подключения): Нет, Оплачивается дополнительно Дорожное покрытие: Щебеночное покрытие. Поквартальное асфальтирование по мере застройки кварталов. Архитектурный стиль: Единый архитектурный стиль - в стадии проектирования Квартал: Чемпионов Адрес участка: Просторная, 7 Граница с лесом: Нет = id_0399 Участок №: 399 Статус: Вторая очередь Площадь участка: 9,97 сот Кадастровый номер: 66:25:1321002:399 публичная кадастровая карта(ссылка) https://pkk.rosreestr.ru Стоимость за сотку: 120 000 руб. Стоимость участка в собственность: 1 196 400 руб. Линия газоснабжения (точка подключения): Нет, Газификация в 2025 г. Электричество (точка подключения): Нет, Оплачивается дополнительно Дорожное покрытие: Щебеночное покрытие. Поквартальное асфальтирование по мере застройки кварталов. Архитектурный стиль: Единый архитектурный стиль - в стадии проектирования Квартал: Чемпионов Адрес участка: Просторная, 5 Граница с лесом: Нет