簡體   English   中英

從命令行解析多個參數 Node.js/js

[英]Parsing multiple arguments from the command line 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...]值上運行您的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))

這是我從終端運行此代碼: 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM