¿Cómo convertir una array bidimensional en un objeto en JavaScript?

En este artículo, aprenderemos cómo convertir una array bidimensional en un objeto . Una array bidimensional puede tener cualquier número de filas y dos columnas.

Ejemplo:

Input: [
         ["John", 12],
         ["Jack", 13],
         ["Matt", 14],
         ["Maxx", 15]
       ]

Output: {
"John": 12,
          "Jack": 13,
          "Matt": 14,
          "Maxx": 15
        }

Se pueden seguir los siguientes enfoques para resolver el problema.

Enfoque 1: en este enfoque, creamos un objeto vacío y usamos el método Array.forEach() para iterar sobre la array. En cada iteración, insertamos el primer elemento de la array secundaria en el objeto como clave y el segundo elemento como valor. Luego devuelve el objeto después de las iteraciones.

Ejemplo:

Javascript

function arr2obj(arr) {
  
    // Create an empty object
    let obj = {};
  
    arr.forEach((v) => {
  
        // Extract the key and the value
        let key = v[0];
        let value = v[1];
  
        // Add the key and value to
        // the object
        obj[key] = value;
    });
  
    // Return the object
    return obj;
}
  
console.log(
    arr2obj([
        ["John", 12],
        ["Jack", 13],
        ["Matt", 14],
        ["Maxx", 15],
    ])
);

Producción:

{
  Jack: 13,
  John: 12,
  Matt: 14,
  Maxx: 15
}

Enfoque 2: En este enfoque, usaremos el método Array.reduce() e inicializaremos el acumulador con un objeto vacío. En cada iteración, asignamos el valor actual como el valor de la clave del acumulador y devolvemos el acumulador. Luego devuelve el objeto después de las iteraciones.

Ejemplo:

Javascript

function arr2obj(arr) {
    return arr.reduce(
        (acc, curr) => {
              
            // Extract the key and the value
            let key = curr[0];
            let value = curr[1];
  
            // Assign key and value
            // to the accumulator
            acc[key] = value;
  
            // Return the accumulator
            return acc;
        },
  
        // Initialize with an empty object
        {}
    );
}
  
console.log(
    arr2obj([
        ["Eren", "Yeager"],
        ["Mikasa", "Ackermann"],
        ["Armin", "Arlelt"],
        ["Levi", "Ackermann"],
    ])
);

Producción:

{
  Eren: 'Yeager',
  Mikasa: 'Ackermann',
  Armin: 'Arlelt',
  Levi: 'Ackermann'
}

Enfoque 3: en este enfoque, primero aplanamos el arreglo usando el método Array.flat( ) para obtener un arreglo unidimensional. Luego podemos crear un objeto vacío e iterar la array para asignar valores colocados uniformemente como la clave del objeto y valores colocados extrañamente como el valor.

Ejemplo:

Javascript

function arr2obj(arr) {
  
    // Flatten the array
    arr = arr.flat();
  
    // Create an empty object
    let obj = {};
  
    for (let i = 0; i < arr.length; i++) {
        if (i % 2 == 0) {
  
            // Extract the key and the value
            let key = arr[i];
            let value = arr[i + 1];
  
            // Assign the key and value
            obj[key] = value;
        }
    }
  
    return obj;
}
  
console.log(
    arr2obj([
        ["Max", 19],
        ["Chloe", 20],
        ["Nathan", 22],
        ["Mark", 31],
    ])
);

Producción:

{ 
  Max: 19,
  Chloe: 20, 
  Nathan: 22, 
  Mark: 31 
}

Publicación traducida automáticamente

Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *