繁体   English   中英

如何获取 process.argv 输入并使用 fs.writeFileSync 将它们写入文件

[英]How to get process.argv inputs and write them to a file using fs.writeFileSync

我正在学习 node.js,我想从用户那里获取输入并将它们写入一个名为 points.txt 的文件中

const process = require("process")
const fs = require("fs")
const [, , num1,num2,num3,num4] = process.argv
fs.writeFileSync('points.txt', process.argv[2,3,4,5])
node app.js 1 2 3 4

但是,使用此代码,我只能看到 4 If I were to then go into the points.txt。 我应该看到 1 2 3 4

表达式process.argv[2,3,4,5]返回到process.argv[5] (那些逗号运算符只计算每个 int 并且整个表达式的值最终作为最后一个 int 的值)。

由于代码已将要写入的参数分配为num变量,因此请编写那些...

const process = require("process")
const fs = require("fs")
const [, , num1,num2,num3,num4] = process.argv
console.log(num1, num2, num3, num4)
fs.writeFileSync('points.txt', [num1,num2,num3,num4])

您不能使用,运算符以这种方式获取多个值。 逗号运算符返回它的最后一个操作数,因此您的代码等于process.argv[5]在这种情况下应该返回4 您可以改用slice方法:

process.argv.slice(2);

slice()方法将数组的一部分的浅表副本返回到从开始到结束(不包括结束)选择的新数组对象中,其中开始和结束表示该数组中项目的索引。 原始数组不会被修改。

要将slice调用的返回数组转换为字符串,可以使用join方法: process.argv.slice(2).join(' ')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM