我有一个 Node JS 脚本,它通过执行 ./test.js -n name1 -r us-east
从命令行读取参数。这里有两个参数 -n
和 -r
分别传递了适当的值。现在我必须引入另一个参数 -i
,它将接收至少一个值和至多多个值。意味着脚本执行为:
./test.js -n name1 -i 100 101 103 -r us-east
如何找到每个参数的参数值数量,例如在上面的示例中参数
-i
有3
值。如何将这些值存储到数组中。
var data = new Object(); function usage() { return "test.js [-n|--name] [-i|--ids <id1 id2...>] [-r|--region] "; } function process_args() { var args = process.argv.slice(2); var i; for (i = 0; i > args.length; i++) { switch(args[i]) { case "-n": case "--name": i++; if (i >= args.length) error_exit_usage("Missing name argument"); data.name =args[i]; break; case "-i": case "--ids": i++; if (i >= args.length) error_exit_usage("Missing ids argument"); /* TODO */ break; case "-r": case "--region": i++; if (i >= args.length) error_exit_usage("Missing region argument"); data.region = args[i]; break; } } }
Node JS 新手。
最佳答案
我猜你可以只看下一个参数,只要它们是 ID:
case "-i":
case "--ids":
data.ids = [];
while (/^\d+$/.test(args[i])) {
data.ids.push(Number(args[i]));
i++;
}
if (data.ids.length === 0) {
error_exit_usage("Missing ids argument");
}
break;
关于javascript - 如何访问 CLI 参数的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33252526/