хорошо бы отредактировать вопрос:
1. сформулировать понятно для всех кто вне контекста вашей задачи.
2. отформатировать код
3. в примере кода — не массив, а объект. Что за «динамичные атрибуты» вы имеете в виду?
Касательно задачи: всё в ваших руках, как использовать потом этот объект. Например, можно делать ключи строками типа "10-50" и интерпретировать их так, как имеете в виду )
ssh -vvv user@host выведет подробные дебажные сообщения, что он там пытался и что пошло не так.
Длинный лог можно и сюда в комменты, если не возникнет идей. Самое интересное в конце лога.
Но и сейчас все на костылях: дублируется разметка (и есть шанс ошибиться), состояние квиза «живёт» в разметке. Ввод телефона не удобный. Компоненты отчего б не взять все готовые из какого-нибудь красивого ui-кита, и почему бы не переделать всё на React или Vue?
Данные квиза отдельно, разметка генерится из данных налету.
browsermobproxy вроде тоже умеет blacklist'ить паттерны URL.
Из документации не ясно, получится ли при этом получать содержание заблокированных запросов.
Ярлыки «джун» / «миддл» весьма условны, четкой границы нет. «Валидация» так же имеет широкие границы.
Поэтому дать однозначный ответ на вопрос в данной формулировке невозможно, я считаю.
Василий Банников, зачем спешить. Вдруг кто-то испытает вдохновение и развернёт ещё один, длинный ответ с исследованием темы, параллелями с другими ЯП и отсылками к латиноамериканской культуре )
По устаревшей версии надо документацию ещё найти, чтобы разобраться, где там возвращается сразу искомое значение, а где Promise. Скорее всего, промис возвращается из метода .get(), поэтому за ним можно прицепить паровозиком отправку аяксом, что-то типа .then(data => ajax.post(url, data))