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.