Convertir una matriz a un objeto en JavaScript

JavaScript Object.assign () método : Aquí, vamos a aprender cómo convertir matrices de objetos en JavaScript utilizando el método Object.assign ()?

Digamos que usted tiene la siguiente matriz,

const nums = [1, 2, 3, 4, 5];
console.log(nums);

salida

(5) [1, 2, 3, 4, 5]

Sabemos que nums es una matriz y que podemos ver en la salida que obtenemos una matriz. Vamos a lo convierten en un objeto,

console.log(Object.assign({}, nums));

salida

{0: 1, 1: 2, 2: 3, 3: 4, 4: 5}

Ahora tenemos un objeto aparece en la consola!

ver Vamos a cómo los Object.assign () Método obras? El método Object.assign () se construye en la parte superior de la class objeto y se tarda en dos parámetros; el objetivo y la fuente, respectivamente. Se copia a todos los valores desde el origen al destino. Vamos a ver algunos ejemplos más,

const arr=[
{name:'harry', age:14},
{name:'sam', age:40},
{name:'gloria', age:16},
{name:'riky', age:33},
]
console.log(arr);

salida

    (4) [{…}, {…}, {…}, {…}]
0: {name: "harry", age: 14}
1: {name: "sam", age: 40}
2: {name: "gloria", age: 16}
3: {name: "riky", age: 33}
length: 4
__proto__: Array(0)

Tenemos un Arr matriz que contiene los objetos como elementos individuales. En esencia, tenemos una gran variedad de objetos. Vamos a utilizar el método object.assign () para convertir este conjunto de objetos en un objeto de objetos.

const namesObj = Object.assign({}, arr);
console.log(namesObj);

salida

    {0: {…}, 1: {…}, 2: {…}, 3: {…}}
0: {name: "harry", age: 14}
1: {name: "sam", age: 40}
2: {name: "gloria", age: 16}
3: {name: "riky", age: 33}
__proto__: Object

Ahora volvamos un objeto de objetos! Es muy sencillo de usar bastante Object.assign () class estos tipos de conversiones pero es más importante entender lo que está pasando y cómo bajo el capó. ¿Puede pensar en la diferencia interna entre una matriz y un objeto? Ahora, se puede encontrar la manera de escribir una función que toma un objeto y lo convierte en una matriz?

vamos a ver cómo vamos a implementar nuestra función que es capaz de convertir una matriz a un objeto . Necesitamos dos cosas: una clave y un valor. Supongamos que vamos a enviar a través de la tecla como parámetro para nuestra función que vamos a utilizar como la clave class nuestro nuevo objeto.

const convertArrtoObj = (arr, key) => {
};

Ahora vamos a crear un objeto vacío que llenaremos con elementos de nuestro arsenal. Vamos a utilizar el método de reducir () para recorrer a través de la matriz y ponemos el valor de la corriente en contra de una llave.

const convertArrtoObj=(arr,key)=>{
const initObj={};
return arr.reduce((obj,currVal)=>{
return{
...obj,
[currVal[key]]:currVal
}
},initObj);
};
const newnamesObj=convertArrtoObj(arr,'age');
console.log(newnamesObj);

salida

    {14: {…}, 16: {…}, 33: {…}, 40: {…}}
14: {name: "harry", age: 14}
16: {name: "gloria", age: 16}
33: {name: "riky", age: 33}
40: {name: "sam", age: 40}
__proto__: Object

Hemos convertido nuestra gama nombres originales de un objeto utilizando la edad de cada persona como la clave.


Deja un comentario

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