Код Junior Файлы и процессы обновлено
Разбор аргументов командной строки
Условие
Напиши parseArgs(argv) для CLI-утилиты (argv уже без node и имени скрипта). Верни { flags, positionals }:
--name=value→flags.name = 'value';--name value→flags.name = 'value', если следующий аргумент не начинается с-; иначеflags.name = true;--no-name→flags.name = false;-abc→flags.a = flags.b = flags.c = true(короткие флаги без значений);- после
--всё идёт вpositionalsкак есть; - остальное в
positionals. Повторный флаг перезаписывает предыдущий.
Примеры
parseArgs(["--port=8080", "serve"]) // {"flags":{"port":"8080"},"positionals":["serve"]}
parseArgs(["--port", "8080", "--verbose"]) // {"flags":{"port":"8080","verbose":true},"positionals":[]}
parseArgs(["--dry-run", "--force"]) // {"flags":{"dry-run":true,"force":true},"positionals":[]}
Как подойти
Подсказки: 2
- Обходи индексом:
--name valueсъедает следующий аргумент. - Значение после
=режь по первому=.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.