最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

从命令行Node.jsjs解析多个参数

IT培训 admin 3浏览 0评论

从命令行Node.js / js解析多个参数

我正在尝试编写一个程序,它接受任意数量的命令行参数,在这种情况下,字符串并将它们反转,然后将它们输出到控制台。这是我到目前为止:

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
回答如下:

你需要在传入的每个reverseString()值上运行你的argv[n...]函数。正确应用Array.prototype.splice(2)函数后,删除数组索引0和1(包含命令(/path/to/node)和/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))

这是我从终端运行此代码:

从命令行Node.js / js解析多个参数

我正在尝试编写一个程序,它接受任意数量的命令行参数,在这种情况下,字符串并将它们反转,然后将它们输出到控制台。这是我到目前为止:

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
回答如下:

你需要在传入的每个reverseString()值上运行你的argv[n...]函数。正确应用Array.prototype.splice(2)函数后,删除数组索引0和1(包含命令(/path/to/node)和/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))

这是我从终端运行此代码:

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论