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

148
Visualizações
JS leyendo filas de MySQL en una matriz multidimensional

En mi script JS tengo:

 var originalArray = [ ['t00', ['Apple', 'Banana', 'Carrot', 'Yike'], [25, 317, 2]], ['t01', ['Mozart', 'Beethoven'], [2, 30, 9, 77, 1, 20]] ];

Hay un fragmento de código, que se ejecuta UNA VEZ en su vida, y escribe todos los elementos de la matriz en la tabla MySQL:

ingrese la descripción de la imagen aquí

Los dos campos de matriz " tstArr1 " y " tstArr2 " se definen como campos de TEXTO .
Puedo cambiar esto para que escriba en la base de datos estas 2 matrices en cualquier formato.

Ahora leo esta tabla y necesito reconstruir originalArray en una nueva matriz vacía llamada newArray :

 var newArray = [];

Pero no puedo hacer que sea exactamente igual que el originalArray .

Así es como leo y (sin éxito) newArray :

 function readEvent() { var xhr = new XMLHttpRequest(); xhr.open('GET', 'DB_read.php', true); xhr.onload = function () { if (this.status == 200) { var DB_response = JSON.parse(this.responseText); for (let i in DB_response) { let tstArr1_from_db = DB_response[i].tstArr1; let tstArr2_from_db = DB_response[i].tstArr2; newArray.push(DB_response[i].tstName, tstArr1_from_db, tstArr2_from_db); } } console.table(originalArray); // console.log(originalArray[1][1][1]); // for console.table(newArray); // debugging console.log(newArray[1][1][1]); // } xhr.send(); }

La consola muestra:
ingrese la descripción de la imagen aquí

Lo "indefinido" es obvio.

¿Cómo puedo hacer que newArray sea una matriz multidimensional como la original?

Gracias, gente inteligente.

(Por favor, por favor... sin jquery)

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

0

Supongo que su respuesta es texto, por lo que los datos son 'Apple, Banana, Carrot, Yike' y '25, 317, 2' para la primera fila, luego debe dividir la cadena en una matriz.

 var originalArray = [ ['t00', ['Apple', 'Banana', 'Carrot', 'Yike'], [25, 317, 2]], ['t01', ['Mozart', 'Beethoven'], [2, 30, 9, 77, 1, 20]] ]; //assumed your response have this structure var DB_response = [ {tstName:'t00', tstArr1:'Apple, Banana, Carrot, Yike', tstArr2:'25, 317, 2'}, {tstName:'t01', tstArr1:'Mozart,Beethoven', tstArr2:'2, 30, 9, 77, 1, 20'} ]; function test() { var newArray = []; DB_response.forEach(function(db) { field1 = db.tstName; field2 = db.tstArr1.split(',').map(function(s) {return s.trim()}) field3 = db.tstArr2.split(',').map(function(s) {return s.trim()}) newArray.push([field1,field2,field3]); }) console.log(originalArray,newArray); }
 <button onclick='test()'>Test</buton>

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