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

234
Vistas
Escribí una función para fusionar dos matrices en una sola matriz pero obtengo "No se pueden leer las propiedades de undefined"

Estoy tratando de tomar 2 matrices y fusionarlas en una nueva matriz que combinará los objetos de cada matriz. Entiendo cómo combinar 2 matrices en 1 grande, pero tengo problemas para combinar los objetos reales en un nuevo objeto dentro de esa matriz. A continuación se muestra un ejemplo de la entrada y la salida prevista que estoy tratando de obtener:

matrices dadas:

arreglo1 = ['1','2','3'];

arreglo2 = ['a','b','c'];

La nueva matriz de salida debe ser:

arreglo3 = ['1a','2b','3c'];

Esto es lo que he intentado hacer hasta ahora. En este ejemplo, intento crear el mazo de cartas necesario para jugar un juego de euchre (debe tener las cartas 9, 10, jota, reina y as y los palos de tréboles, diamantes, corazones y picas para cada carta). para un total de 24 combinaciones de cartas). Creé 2 matrices (una para el 'valor' de la tarjeta y otra para los 'palos' de la tarjeta. Para mi función, estoy pasando ambos mazos a un bucle for que idealmente agregará el objeto de la matriz de 'palos' a la final de la matriz de 'valores'. Esta nueva lista luego se pasa a la matriz de 'cubierta' vacía para devolver la nueva matriz. Sin embargo, obtengo un "Error de tipo no detectado: no se pueden leer las propiedades de undefined (leyendo 'longitud')". Esto está ocurriendo al comienzo de mi función 'createDeck' y cuando trato de llamar a la función en la declaración de registro de la consola en la parte inferior. Cualquier ayuda para comprender la lógica que necesitaría usar para combinar estas matrices sería muy apreciada ya que estoy empezando a trabajar con funciones y matrices.

 const values = ['9','10', 'J', 'Q', 'K','A']; const suits = ['C', 'D', 'H', 'S']; function createDeck(values, suits) { let deck = []; for (let i = 0; i < suits.length; i++) { for (let x = 0; x < values.length; x++) { let card = {Value: values[x], Suit: suits[i]}; deck.push(card); } } return deck; } console.log(createDeck());
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede crear una nueva matriz con el método de mapa.

 const values = ['1','2', '3']; const suits = ['a', 'b', 'c']; function createDeck() { let customArray = []; // check for equality of array lengths if (values.length === suits.length) { // create a new array with the map method customArray = values.map((value, index) => { return value + suits[index] }) } return customArray; } console.log(createDeck())
about 4 years ago · Juan Pablo Isaza Denunciar

0

Básicamente, puede usar el método Array.prototype.map() para lograr los resultados esperados. Se supone que la longitud de las matrices es igual entre sí. Un código de muestra se da a continuación:

 array1 = ['1','2','3']; array2 = ['a','b','c']; combineArrays = (arr1,arr2) => { const arr = arr1.map((elem,index)=> { elem += arr2[index]; return elem }) return arr } console.log(combineArrays(array1, array2)) // ['1a','2b','3c']

Para la versión de bucle es:

 array1 = ['1','2', '3'] array2 = ['a', 'b', 'c'] combineArrays = (arr1,arr2) => { const deck = [] for(i=0; i<arr1.length; i++) { deck.push(arr1[i] + arr2[i]) } return deck } console.log(combineArrays(array1, array2)) // ['1a','2b','3c']

about 4 years ago · Juan Pablo Isaza Denunciar

0

intente declarar una nueva matriz y en el ciclo for haga

 array[i] = values[i] + suits[i]

tal vez necesite agregar "" en la matriz con cadenas

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