I am trying to solve an algorithm of generating random numbers base on a file size of 745kb. when it gets to this size it stops generating the random number. I have come with an algorithm which generates an array of random numbers write into a JSON file but the problem I have is that I can't read from the file to display on my page.
below is what I have done to the point of where I can't read from the JSON.
const fs = require('fs');
function generate(n) {
var add = 1, max = 3;
if (n > max) {
return generate(max);
}
max = Math.pow(10, n + add);
var min = max / 10; // Math.pow(10, n) basically
var number = Math.floor(Math.random() * (max - min + 1)) + min;
return ("" + number).substring(add);
}
function fullNumber() {
var first = generate(3);
var second = generate(3);
var third = generate(3);
return `0${first}${second}${third}`
}
function generatePhone(number) {
var newArray = [];
for (var i = 0; i < number; i++) {
newArray.push(fullNumber())
}
fs.writeFileSync('phone.json', JSON.stringify(newArray), (err) => {
if (err) throw err;
});
return newArray;
}
function readFromFile() {
fs.readFile('phone.json', (err, data) => {
if (err) throw err;
let phone = JSON.parse(data);
return phone;
});
}
readFromFile();
returning the phone gives me an undefined. I would like to display the phone to my browser and also be able to stop the random generator when the phone gets to the file size of 745kb.