如何获得流程.使用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如果我打开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()方法返回数组的一部分的浅拷贝到一个从开始到结束(不包括结束)选择的新数组对象中,其中start和end表示该数组项的索引。

原数组不能被修改。

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

相关内容

  • 没有找到相关文章

最新更新