Tengo una matriz en el archivo txt y leo esto con
fs.readFileSync("./input.txt")Cuando lo envuelvo en console.log obtengo (ya que está escrito en el propio archivo):
1 2 3 100 5000Tendría la matriz:
['1','2','3','100','5000']La ubicación de la matriz en el archivo de entrada no debe cambiar. Sugiere cómo hacerlo, por favor.
Puede usar expresiones regulares para dividir palabras: \w+
let a = ` 1 2 3 100 5000 `; console.log(a.match(/\w+/g))Para leer su archivo y dividirlo:
fs.readFileSync("./input.txt").match(/\w+/g)De una manera, cárguelo luego, divídalo por líneas, luego en cada línea, divídalo por espacio, luego aplánelo, luego filtre los valores vacíos.
let str = `1 2 3 100 5000 0`; // added 0 to show filter(Boolean) wont remove console.log(str.split('\n').map(v => v.split(' ')).flat().filter(Boolean))Resultado:
[ "1", "2", "3", "100", "5000", "0" ]Puede dividir la cadena por un espacio y luego filtrar los elementos falsos en la matriz resultante.
const input = ` 1 2 3 100 5000 `; let res = input.split(" ").filter(e => e.trim()) console.log(res)