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
}
}
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 arrayotr_entries
por cada valor importante que necesita ser guardado:Aquí, el método
push()
se utiliza con un array que contiene los tres valores para cada entrada: el índice (conteo),string1
ystring2
. La variableotr_entries_count
se incrementa en 1 para cada nueva entrada, y el métodopush()
agrega automáticamente el nuevo array al final del arrayotr_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.