使用扩展运算符并组合参数

时间:2019-06-08 18:08:13

标签: javascript node.js ecmascript-6

我正在尝试将多个参数组合到一个可读的文本行中,以便可以将其写到文件中。但是,我不知道该怎么做:

const fs = require('fs');
var stream = fs.createWriteStream('test.txt');

let log = function(...data) {
    console.log(...data); // one 2 three (that's how it should be)
    stream.write(...data); // one
    stream.write('\n');
};

stream.once('open', function() {
    log('one', 2, 'three');
    stream.close();
});

如何在 stream.write 中简洁地正确捕获“数据”的所有部分,而无需编写一些长函数来做到这一点?

1 个答案:

答案 0 :(得分:3)

这样做的时候

let log = function(...data) {
    ...
};

数据是一个数组。

如果要使看起来像['one', 2, 'three']的数组像one 2 three那样打印,请执行

let log = function(...data) {
    const str = data.join(' ');
    console.log(str);
};