Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

144
Vistas
Javascript de matriz multidimensional con bucle anidado

Por ejemplo, tengo una matriz como esa

 var myArray = [ [1,2,3], [4,5,6], [7,8,9,10], [[11,12],[13,14,15]]]; for (var i = 0;i < myArray.length;i++){ for(var j = 0 ;j< myArray[i].length;j++){ for(var k = 0;k< myArray[i][j].length;k++){ console.log(myArray[i],[j][k]); } } }

Pero la salida es solo 11,12,13,14,15. Y quiero imprimir todos los valores. ¿Alguien podría ayudar a solucionarlo? Gracias de antemano.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Esta función funciona para cualquier profundidad de matriz multidimensional. Usando recursividad

 var myArray = [1,2,33,44, [1,2,3], [[11,12],[13,14,15]]]; var myArray1 = [1,2,33,44, [[11,12],[13,14,15]]]; var deepFlattenArray = function (array){ var result = []; array.forEach(function (element) { if (Array.isArray(element)) { result = result.concat(deepFlattenArray(element)); } else { result.push(element); } }); return result; }; console.log(deepFlattenArray(myArray)); // output = [ 1, 2, 33, 44, 1, 2, 3, 11, 12, 13, 14, 15] console.log(deepFlattenArray(myArray1)); // output = [1, 2, 33, 44, 11, 12, 13, 14, 15 ]
about 4 years ago · Juan Pablo Isaza Denunciar

0

Utilice, por ejemplo, Array.prototype.flat(), .flat(2) se aplana al nivel de 2 matrices de profundidad.

 var myArray = [ [1,2,3], [4,5,6], [7,8,9,10], [[11,12],[13,14,15]]]; console.log(myArray.flat(2));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar la función recursiva, primero pase toda la matriz, luego haga un bucle y verifique si el elemento al que está accediendo es una matriz o un dígito si su matriz llama a la misma función nuevamente y solo pasa este elemento; de lo contrario, si su dígito simplemente lo imprime

Esto funciona incluso cuando no sabe cuántas matrices anidadas tiene; de lo contrario, use la respuesta MWO

 var myArray = [ [1,2,3], [4,5,6], [7,8,9,10], [[11,12],[13,14,15]]]; function printArray(arr){ for(var i = 0; i < arr.length; i++){ if(Array.isArray(arr[i])){ printArray(arr[i]); }else{ console.log(arr[i]); } } } printArray(myArray);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda