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

152
Vistas
Función de JavaScript que toma una matriz multidimensional, la aplana y luego devuelve los valores de la matriz como una cadena en orden de elección

Tengo problemas con un determinado objetivo en el que tengo que crear una función que tome una matriz multidimensional y devuelva una matriz plana con valores de cadena de oraciones usando valores de la matriz multidimensional dada. Tengo dificultades para iterar a través de la matriz y hacer que envíe los valores a una nueva matriz. Todo lo que he probado devuelve los valores en los lugares equivocados y ahora simplemente devuelve undefined . Estoy tan perdido y frustrado

Defina una función, zooInventory , que acepte una matriz multidimensional de hechos de animales. zooInventory debería devolver una matriz nueva y plana de cadenas. Cada elemento de la nueva matriz debe ser una oración sobre cada uno de los animales del zoológico.

 let myZoo = [ ['King Kong', ['gorilla', 42]], ['Nemo', ['fish', 5]], ['Punxsutawney Phil', ['groundhog', 11]] ]; function zooInventory(zooList) { let zooFlat = []; let name = []; let animal = []; let age = []; for (let i = 0; i < zooList.length; i++) { if (!Array.isArray(zooList[i])) { name.push(zooList[i]) } else { animal.push(zooList[i][0]); age.push(zooList[i][-1]); } } for (let j = 0; j < name.length; j++) { zooFlat.push(`${name[j]} the ${animal[j]} is ${age[j]}.`) } return zooFlat; } zooInventory(myZoo); /* => ['King Kong the gorilla is 42.', 'Nemo the fish is 5.' 'Punxsutawney Phil the groundhog is 11.'] */
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Siguiendo mi comentario :

Parque infantil TS

 const myZoo = [ ['King Kong', ['gorilla', 42]], ['Nemo', ['fish', 5]], ['Punxsutawney Phil', ['groundhog', 11]], ]; function createSentence (item) { const [name, animal, age] = item.flat(); return `${name} the ${animal} is ${age}.`; } function zooInventory (zooList) { return zooList.map(createSentence); } console.log(zooInventory(myZoo));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Su tarea es muy específica, por lo que optaría por una solución muy específica:

 let myZoo = [ ['King Kong', ['gorilla', 42]], ['Nemo', ['fish', 5]], ['Punxsutawney Phil', ['groundhog', 11]] ]; function zooInventory(zooList) { return zooList.map(animal => animal[0] +' the '+ animal[1][0] +' is '+ animal[1][1] +'.') } console.log(zooInventory(myZoo))

Como puede ver, no necesita hacer nada como aplanar si su asignación es exactamente esta, porque simplemente puede concatenar la lectura de cadenas de matrices anidadas.

about 4 years ago · Juan Pablo Isaza Denunciar

0

... técnicas utilizadas ...

  • Array.prototype.map

  • Array.prototype.flat

  • Asignación de desestructuración / Destrucción de matrices

  • Literales de plantilla

 console.log([ ['King Kong', ['gorilla', 42]], ['Nemo', ['fish', 5]], ['Punxsutawney Phil', ['groundhog', 11]] ].map(arr => { const [name, animal, age] = arr.flat(); return `${ name } the ${ animal } is ${ age }`; }));
 .as-console-wrapper { min-height: 100%!important; top: 0; }

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