require('stream');
const pathToFile = path.resolve(__dirname, 'array.txt');
const readStream = fs.createReadStream(pathToFile);
const result = new Set();
const uniqueStream = new stream.Transform({
transform(chunk, encoding, callback) {
const numbers = chunk.toString()
.replace('[', '')
.replace(']', '')
.split(',')
.map(Number)
.filter(Number.isInteger); // change if need other cases
numbers.forEach(number => result.add(number)); // unique
this.push(numbers.toString());
callback();
}
});
readStream
.pipe(uniqueStream);
readStream.on('end', () => {
console.log(Array.from(result));
});
если уверен что файл поместиться в одну чанку можно еще сделать сразу пайп в stdout
а если чанк закончится посередине числа из нескольких цифр?
Обсуждают сегодня