Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

270
Visualizações
leer texto del archivo y guardarlo en una matriz en

En el siguiente código, tengo la matriz de ["Saab", "Volvo", "BMW"] .

 <div> <span id="my-element" class=" css-1yy09vp" data-font-weight="semibold"></span> <script> const cars = ["Saab", "Volvo", "BMW"]; const textElement = document.getElementById("text"); function carDisplayer() { let i = 0; return function(cars) { let interval = setInterval(() => { if (i < cars.length) { textElement.textContent = cars[i]; i++; } else { clearInterval(interval); i = 0; } }, 10000); } } let displayCars = carDisplayer(); displayCars(cars); </script> </div>

Estoy interesado en leer el contenido de la matriz desde un archivo de texto en lugar de codificarlo. Por ejemplo, si tengo el siguiente archivo;

 Saab Volvo BMW

llamado "content.txt", ¿cómo puedo leer el contenido y asignarlo como matriz de "autos"?

Gracias,

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

1ra opción: Leer archivo en línea

Los archivos en línea se pueden leer a través de métodos AJAX como XHR o fetch . El siguiente código podría ser una solución, pero no funciona para archivos en la computadora. El archivo content.txt debe estar junto al archivo HTML en el servidor.

Más información sobre buscar: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

 <div> <span id="my-element" class="css-1yy09vp" data-font-weight="semibold"></span> <script> let cars = []; const textElement = document.getElementById("my-element"); function carDisplayer() { let i = 0; return function(cars) { let interval = setInterval(() => { if (i < cars.length) { textElement.innerHTML = cars[i]; i++; } else { clearInterval(interval); i = 0; } }, 1000); } } fetch("./content.txt").then(function(response) { response.text().then(function(text) { console.log(text); cars = text.split('\n'); let displayCars = carDisplayer(); displayCars(cars); }); }); </script> </div>

2da opción: Leer desde la computadora del usuario

Leer un archivo desde la computadora del usuario es imposible hasta que el usuario lo permita. En el siguiente código, el usuario debe buscar el archivo content.txt , luego se ejecutará el código.

 Select Text File: <input type="file" id="file-select"> <div> <span id="my-element" class="css-1yy09vp" data-font-weight="semibold"></span> <script> let cars = []; const textElement = document.getElementById("my-element"); function carDisplayer() { let i = 0; return function(cars) { let interval = setInterval(() => { if (i < cars.length) { textElement.innerHTML = cars[i]; i++; } else { clearInterval(interval); i = 0; } }, 1000); } } document.getElementById('file-select').onchange = function() { var reader = new FileReader(); reader.onload = function(progressEvent){ console.log(this.result); cars = this.result.split('\n'); let displayCars = carDisplayer(); displayCars(cars); }; reader.readAsText(this.files[0]); }; </script> </div>
about 4 years ago · Juan Pablo Isaza Relatório

0

Hay muchas opciones. Lo más fácil es almacenar el JSON como un archivo separado y guardarlo como JS. El archivo se verá como

 var data = [{...}, {...}];

Solo cargará el archivo con <script src="./data.js"></script> .

Si lo almacenará como json, entonces es un poco más difícil y debe obtenerlo con ajax. Lo más fácil es usar fetch(). Obtendrá el archivo, lo analizará y lo guardará.

 fetch('./data.json').then(data => JSON.parse(data)).then(data => callback(data));

Manejar la llamada asíncrona dependerá de usted si desea usar la devolución de llamada en alguna llamada asíncrona o lo que necesite. Esto lo manejará en el navegador. Como parece que no estás haciendo ningún SSR.

Puedes cambiar tu código a algo como esto:

 <script> const textElement = document.getElementById("text"); function carDisplayer() { let i = 0; return function(cars) { let interval = setInterval(() => { if (i < cars.length) { textElement.textContent = cars[i]; i++; } else { clearInterval(interval); i = 0; } }, 10000); } } let displayCars = carDisplayer(); fetch('./data.json').then(data => JSON.parse(data)).then(data => displayCars(data)); </script>
about 4 years ago · Juan Pablo Isaza Relatório

0

Supongo que estás usando node.js. esto podría ayudarte:

 const readLine = require('readline'); const f = require('fs'); var file = './demo.txt'; var rl = readLine.createInterface({ input : f.createReadStream(file), output : process.stdout, terminal: false }); rl.on('line', function (text) { console.log(text); });

Esquema:

 Line 1 Line 2 Line 3 Line 5

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda