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.

Bucle a través de dos arrays para llenar un array bidimensional.

Trabajo en Angular y uso Typescript. Tengo dos arrays array1 y array2 que he obtenido de una API.

Un console.log en array1 se ve así:
enter image description here

Un console.log en array2 se ve así:
enter image description here

Me gustaría crear un array bidimensional que combine los dos arrays, elemento por elemento (id 0 con id 0, id 1 con id 1, id 2 con id 2, y así sucesivamente). Para ser más claro, el resultado sería:

[["Outils sali", "saunier"], ["outils elem", "outils trad"], ["outils trad", "outils sali"], .... ];

¿Tendría alguna idea para realizar este truco?

Cualquier ayuda sería muy apreciada, ¡gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para fusionar dos arreglos elemento por elemento, una posible solución es usar un ciclo y crear un nuevo arreglo bidimensional mientras se itera a través de los dos arreglos originales. Aquí hay un ejemplo de implementación usando un ciclo for:

    const mergedArray: any[][] = [];
    
    for (let i = 0; i < array1.length; i++) {
      if (array2[i]) { // asegúrate de que array2 tenga la misma longitud que array1
        mergedArray.push([array1[i].label, array2[i].label]);
      }
    }
    console.log(mergedArray);
    

    Este código crea un nuevo arreglo bidimensional vacío mergedArray, luego itera a través de array1 usando un ciclo for. Para cada elemento de array1, verifica si array2 tiene un elemento correspondiente en el mismo índice (usando if(array2[i])). Si es así, crea un nuevo arreglo con las dos etiquetas correspondientes y lo empuja a mergedArray. Finalmente, registra mergedArray en la consola.

    La salida resultante debería ser un arreglo bidimensional que contenga etiquetas fusionadas, como el ejemplo en la pregunta.

    Tenga en cuenta que esta implementación asume que array1 y array2 tienen la misma longitud y que sus elementos correspondientes son objetos con una propiedad label que contiene el valor de cadena deseado. Si este no es el caso, el código tendría que ser adaptado en consecuencia.

Comments are closed.