在循环节点js后将数组写入文件

write array to file after looping node js

本文关键字:数组 文件 循环 循环节 节点 js      更新时间:2023-09-26

我还没有找到我的问题的答案,从别人问的问题的例子。我写了一个小的web scraper,它将数据存储到一个数组中,并希望将它(数组)写入文件。我无法正确设置。

我正在使用nodejs。有人可以写一个样本,接受数组内容,然后写入文件。请把它分解成基本的,我在编程方面还是个新手。

谢谢代码在

下面
var content = [];
var request = require('request');
var cheerio = require('cheerio');
var URL = 'http://www.amazon.com';

 request(URL, function(error, response, html){
   if (error){
       consol.log('Error:', error);
   }
   if (response.statusCode !== 200) {
       console.log('Invalid Status Code Returned:', response.statusCode);
   }
   //console.log(html);
      var $ = cheerio.load(html);

    $('td').each(function (i, element) {

        var a = $(this).next();
        var trimmed_a = a.text();
        trimmed_a = trimmed_a.trim();
        var str = trimmed_a.replace(/'s's+/g,"");
        var newStr = str.trim();
        content.push(newStr);

    });
    console.log(content);

})

最简单的答案:

var fs = require('fs');
var arr = ['cat','dog','bird'];
var filename = 'output.txt';
var str = JSON.stringify(arr, null, 4);
fs.writeFile(filename, str, function(err){
    if(err) {
        console.log(err)
    } else {
        console.log('File written!');
    }
});

这里,arr,将是您的数据数组,您将转换为字符串,因为fs.writeFile期望字符串。我使用null,4附加参数使其美观打印,因此您可以看到它与四个空格缩进。

希望这对你有帮助!

不可能在文件中存储真正的数组/对象-其内容是字节,但是您可以存储此对象的字符串化格式,然后解析相同的格式,例如使用JSON(我认为这相当于Node.js):

json_format = JSON.stringify(content)
var json_format

那么,如果你想在获取数组内容后读取文件中的数组

JSON.parse(json_format)

提醒一下,JSON中没有函数声明,除了NaN, Infinity, undefined(那不是值)等,所有的原语值都支持,还包括特殊的数字语法(指数(+ | -),…):JSON。所有JSON不支持的值,JSON.stringify将它们视为null。我不确定它是如何在不同的平台之间工作的,虽然(我只使用浏览器JS)。

现在,保存/写入我们当前拥有的文件异步fs。writeFile和synchronous fs.writeFileSync。不过,我对Node.js了解不多。当使用这些方法时,你必须在某个地方包含文件系统,通常是这样的(文件系统在模块中):

fs = require('fs'); var fs