es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Array dinámico y multidimensional en javascript – el conteo ascendente no funciona.

Necesito un array tridimensional para contar – debe crecer dinámicamente. Está compuesto por índice, string1 y string2.

Este código produce exactamente lo que quiero (para un solo bucle, ya que el array está codificado en el índice 0)

“`javascript
var otr_entries=[[0,””,””]];
var otr_entries_count=0;

for(let i=0;i<xx.length;i++) {=”” if(is_important_value_to_save())=”” {=”” otr_entries_count=”otr_entries_count+1;” otr_entries[otr_entries_count][1]=”xx[i].previousElementSibling.innerHTML;” otr_entries[otr_entries_count][2]=”xx[i].innerHTML;” window.alert(otr_entries[otr_entries_count][1]);=”” resultado=”” esperado=”” window.alert(otr_entries[otr_entries_count][2]);=”” resultado=”” esperado=”” }=”” }=”” ="" pero="" cuando="" reemplazo="" `otr_entries[0][2]`="" con="" `otr_entries[otr_entries_count][2]`,="" el="" script="" falla="" repentinamente="" si="" el="" contador="" no="" es="" 0.="" eso="" significa="" que="" el="" array="" no="" está="" creciendo.="" ¿cómo="" se="" puede="" lograr="" esto?=""javascript=”” var=”” otr_entries=”[[0,"",""]];” var=”” otr_entries_count=”0;” for(let=”” i=””></xx.length;i++)><xx.length;i++) {=”” if(is_important_value_to_save())=”” {=”” otr_entries_count=”otr_entries_count+1;” contar=”” rompe=”” el=”” código=”” otr_entries[otr_entries_count][1]=”xx[i].previousElementSibling.innerHTML;” otr_entries[otr_entries_count][2]=”xx[i].innerHTML;” window.alert(otr_entries[otr_entries_count][1]);=”” no=”” hay=”” salida,=”” el=”” script=”” se=”” detiene=”” por=”” completo=”” window.alert(otr_entries[otr_entries_count][2]);=”” no=”” hay=”” salida,=”” el=”” script=”” se=”” detiene=”” por=”” completo=”” }=”” }=”” ="" edit:="" esta="" es="" mi="" solución,="" gracias="" a="" la="" ayuda="" de="" peter.="" funciona="" perfectamente.=""javascript=”” var=”” otr_entries=”[];” var=”” otr_entries_count=”-1;” for(let=”” i=””></xx.length;i++)><xx.length;i++)
{
if(is_important_value_to_save())
{
otr_entries_count=otr_entries_count+1;
otr_entries.push([otr_entries_count,xx[i].previouselementsibling.innerhtml,xx[i].innerhtml])
window.alert(otr_entries[otr_entries_count][1]); // resultado esperado
window.alert(otr_entries[otr_entries_count][2]); // resultado esperado
}
}
{="" if(is_important_value_to_save())="" {="" otr_entries_count="otr_entries_count+1;" otr_entries.push([otr_entries_count,xx[i].previouselementsibling.innerhtml,xx[i].innerhtml])="" window.alert(otr_entries[otr_entries_count][1]);="" resultado="" esperado="" window.alert(otr_entries[otr_entries_count][2]);="" resultado="" esperado="" }="" }=""></xx.length;i++)
{
if(is_important_value_to_save())
{
otr_entries_count=otr_entries_count+1;
otr_entries.push([otr_entries_count,xx[i].previouselementsibling.innerhtml,xx[i].innerhtml])
window.alert(otr_entries[otr_entries_count][1]); // resultado esperado
window.alert(otr_entries[otr_entries_count][2]); // resultado esperado
}
}
>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para hacer crecer dinámicamente un array tridimensional en Javascript, puedes usar el método push() en lugar de incrementar manualmente la variable de conteo e intentar acceder al array utilizando dicho índice.

    Aquí tienes una solución actualizada que utiliza push() para agregar una nueva entrada al array otr_entries por cada valor importante que necesita ser guardado:

    var otr_entries = [];
    var otr_entries_count = -1; // iniciar conteo en -1 para que coincida con la configuración inicial del array
    
    function some_working_for_loop() {
      if (is_important_value_to_save()) {
        otr_entries_count += 1;
        otr_entries.push([otr_entries_count, xx[i].previousElementSibling.innerHTML, xx[i].innerHTML]);
        window.alert(otr_entries[otr_entries_count][1]); // Resultado esperado
        window.alert(otr_entries[otr_entries_count][2]); // Resultado esperado
      }
    }
    

    Aquí, el método push() se utiliza con un array que contiene los tres valores para cada entrada: el índice (conteo), string1 y string2. La variable otr_entries_count se incrementa en 1 para cada nueva entrada, y el método push() agrega automáticamente el nuevo array al final del array otr_entries.

    Esta solución debería permitir que el array crezca dinámicamente y evitar cualquier problema al acceder al índice incorrecto o errores de array fuera de límites.

Comments are closed.