Creé una matriz JS "multidimensional" con una función. Dentro de esa función, el registro de la consola muestra la matriz con todos los elementos como lo esperaría.
Fuera de la función, todavía puedo mostrar la matriz en la consola, pero se ve diferente y no puedo acceder a los elementos con los identificadores típicos de arr[0].
¿Alguna idea de lo que podría estar pasando? Necesito poder acceder a esta matriz globalmente. Tenga paciencia conmigo, soy nuevo y verde.
var thisQsetTrue = []; var thisQsetFalse = []; //Start getDoc function getDoc() { const xhttp = new XMLHttpRequest(); xhttp.onload = function() { buildArray(this); } xhttp.open("GET", "AddisonNovice.xml"); xhttp.send(); } //End get Doc //Start buildArray function buildArray(xml) { const xmlDoc2 = xml.responseXML; const y = xmlDoc2.getElementsByTagName("question"); //Build the true answer array for (let i = 0; i <y.length; i++) { var tempArray = []; if (y[i].getElementsByTagName("type")[0].childNodes[0].nodeValue == "true") { tempArray.push(y[i].getElementsByTagName("query")[0].childNodes[0].nodeValue); tempArray.push(y[i].getElementsByTagName("feedback")[0].childNodes[0].nodeValue); thisQsetTrue.push(tempArray); } } //Build the false answer array for (let i = 0; i <y.length; i++) { var tempArray2 = []; if (y[i].getElementsByTagName("type")[0].childNodes[0].nodeValue == "false") { tempArray2.push(y[i].getElementsByTagName("query")[0].childNodes[0].nodeValue); tempArray2.push(y[i].getElementsByTagName("feedback")[0].childNodes[0].nodeValue); thisQsetFalse.push(tempArray2); } } console.log(thisQsetFalse);//Array displays normally } //End buildArray //Call getDoc getDoc(); console.log(thisQsetFalse);//Array displays differentlyCaptura de pantalla del registro de la consola. Como puede ver, todos los elementos de la matriz están ahí, pero se ve diferente y no puedo llegar a los elementos: Captura de pantalla del registro de la consola