const fs = require('fs'); fs.readFile('input.txt', 'utf8',(err,data)=>{ if(err){ console.error(err); return; } console.log(data); });Tengo este código que encontré en un tutorial de youtube, solo lee los datos del archivo de texto, ahora tengo esto:
1 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1Ahora, para poder trabajar con esos datos, tengo que hacer que se vea así:
[[1,0,1,0,1], [1,0,1,0,1], [0,0,0,0,0], [1,0,1,0,0], [0,0,0,0,1]];La única restricción es que no puedo usar bucles en esta asignación (bucles while y for), todas las funciones que se construyen en javascript están permitidas, también puedo usar la biblioteca Underscore ( https://underscorejs.org/ )
Apenas estoy comenzando con Javascript, avíseme si hay alguna función útil o algo que pueda hacer para hacerlo, gracias de antemano.
.trim() espacios en blanco desde ambos extremos de la cadena: txt.trim().split() en cada salto de línea \n : txt.trim().split(/\n/) // ["1 0 1 0 1", "1 0 1 0 1", "0 0 0 0 1", "1 0 1 0 0", "1 0 0 0 1"].map() a cada cadena en la matriz y .split() en cada \s : txt.trim().split(/\n/).map(row => row.split(/\s/)) // See example for output.map() a cada subarreglo y luego .map() para convertir la cadena en un número real: lines.map(row => row.map(bit => +bit)); // See example for output // Utility function const log = data => console.log(JSON.stringify(data)); const txt = ` 1 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1`; // Result is an array of string arrays const lines = txt.trim().split(/\n/).map(row => row.split(/\s/)); log(lines); // Convert the strings into real numbers const bits = lines.map(row => row.map(bit => +bit)); log(bits);