Search code examples
javascriptnode.js

node.js - how to write an array to file


I have a sample array as follows

var arr = [ [ 1373628934214, 3 ],
  [ 1373628934218, 3 ],
  [ 1373628934220, 1 ],
  [ 1373628934230, 1 ],
  [ 1373628934234, 0 ],
  [ 1373628934237, -1 ],
  [ 1373628934242, 0 ],
  [ 1373628934246, -1 ],
  [ 1373628934251, 0 ],
  [ 1373628934266, 11 ] ]

I would like to write this array to a file such as I get a file as follows

1373628934214, 3 
1373628934218, 3
1373628934220, 1
......
......

Solution

  • If it's a huuge array and it would take too much memory to serialize it to a string before writing, you can use streams:

    var fs = require('fs');
    
    var file = fs.createWriteStream('array.txt');
    file.on('error', function(err) { /* error handling */ });
    arr.forEach(function(v) { file.write(v.join(', ') + '\n'); });
    file.end();