Проверить, содержат ли аргументы процесса флаги

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы изучим, как проверить, содержат ли аргументы процесса флаги, используя JavaScript. Вы научитесь использовать методы Array.prototype.every() и Array.prototype.includes() для проверки наличия указанных флагов в массиве process.argv. Кроме того, вы научитесь использовать регулярные выражения для добавления префикса - или -- к указанным флагам по необходимости. Это практическое занятие поможет вам лучше понять JavaScript и работу с аргументами командной строки в Node.js.

Проверить, содержат ли аргументы процесса флаги

Для проверки того, содержат ли аргументы текущего процесса указанные флаги, следуйте этим шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте Array.prototype.every() и Array.prototype.includes() для проверки, содержит ли process.argv все указанные флаги.
  3. Используйте регулярное выражение для проверки, префиксом к указанным флагам является - или --, и добавьте префикс в соответствии с результатом.

Вот фрагмент кода, который показывает, как это реализовать:

const hasFlags = (...flags) =>
  flags.every((flag) =>
    process.argv.includes(/^-{1,2}/.test(flag) ? flag : "--" + flag)
  );

Вы можете протестировать функцию с разными флагами так:

// node myScript.js -s --test --cool=true
hasFlags("-s"); // true
hasFlags("--test", "cool=true", "-s"); // true
hasFlags("special"); // false

Резюме

Поздравляем! Вы завершили практическое занятие "Проверить, содержат ли аргументы процесса флаги". Вы можете практиковаться в других заданиях в LabEx, чтобы улучшить свои навыки.