Разбор нескольких аргументов из командной строки Node.js / js - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь написать программу, которая принимает любое количество аргументов командной строки, в данном случае выводит строки и переворачивает их, а затем выводит их на консоль.Вот что у меня есть:

let CL = process.argv.slice(2);
let extract = CL[0];

function reverseString(commandInput) {
  var newString = "";
  for (var i = commandInput.length - 1; i >= 0; i--) {
    newString += commandInput[i];
  }
  return console.log(newString);
}

let call = reverseString(extract);

Я не могу найти способ заставить эту работу работать с несколькими аргументами в командной строке, такими как:

node reverseString.js numberOne numberTwo

, чтоВ результате вы получите такой результат:

enOrebmun owTrebmun 

, однако он отлично работает для одного аргумента, например:

node reverseString.js numberOne

1 Ответ

0 голосов
/ 17 февраля 2019

Вам необходимо запустить функцию reverseString() для каждого из переданных значений argv[n...]. После правильного применения функции Array.prototype.splice (2), которая удаляет индексы массива 0 и 1 (содержащие команду (*)1003 *) и /path/to/module/file.js), вам нужно выполнить итерации по каждому оставшемуся индексу в массиве.

Для этого идеально подходит метод Array.prototype.forEach, вместо необходимости использовать цикл for или map.Ниже используется код OP и минимальная программа (без большого количества рефакторинга), необходимая для желаемого вывода.

    let CL = process.argv.slice(2);

    function reverseString(commandInput) {
      var newString = "";
      for (var i = commandInput.length - 1; i >= 0; i--) {
        newString += commandInput[i];
      }
      return console.log(newString);
    }

    CL.forEach((extract)=>reverseString(extract))

Вот я запускаю этот код с терминала: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...