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

标签 javascript arrays node.js command-line

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

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

最佳答案

您需要对传入的每个 argv[n...] 值运行您的 reverseString() 函数。在正确应用 Array.prototype.splice 之后(2) 函数,删除数组索引 0 和 1(包含命令 (/path/to/node) 和 /path/to/module/file.js ),您需要遍历数组中每个剩余的索引。

Array.prototype.forEach 方法对此非常理想,而不需要 for 循环或映射。下面是使用 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

关于javascript - 从命令行解析多个参数 Node.js/js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54729727/

相关文章:

node.js - Cypress 选择 HTML <select> 的特定子级

javascript - MongoDB oplog 流 Node.js

javascript - 什么决定 Node 是否打印 `[object Object]` 或完整对象?

javascript - GraphQL 交叉引用引发错误 : field type must be Output Type but got: [object Object]

javascript - 数字规则不适用于 ANTD 的输入

javascript - HTML 按钮不适用于我的 javascript

php - 输入类型为 ="image"的数组中的 $_POST 值?

c - 在c中迭代整数数组

java - 如何在Java中使用charAt查找数组中每个值的首字母?

javascript - 在 JavaScript 中旋转数组中的元素