javascript - property - object.assign typescript
Alternativa de Object.assign(... array) (2)
Estás buscando
var obj = Object.assign({}, ...array)
que crea un nuevo objeto en lugar de mutar la array[0]
.
Supongamos que tenemos una matriz de objetos.
Llamar a Object.assign(...array)
hace una herencia entre aquellos objetos en los que el objeto con índice i
reemplaza las propiedades existentes en el objeto con índice i-1
Por ejemplo:
var array=[{interf:''IPerson'',name:''Someone''},{clss:''Person'',name:''Ahmed''},{student:true}];
console.log(
Object.assign(...array) // Object.assign(array[0],array[1],array[2])
)
Ahora, utilizando Babel con la sintaxis de propagación de objetos propuesta, podemos hacer esto de forma estática:
{...array[0],...array[1],...array[2]} // spread used for each object not for array
¿Cómo hacer eso dinámicamente?
Hay una superposición de contexto de "sintaxis de propagación". Me refiero a cómo usar la sintaxis de propagación para ambos:
- Para que el Array difunda elementos.
- Para el objeto literal de salida
{}
para hacer herencia
?
Intenté {...array}
y devuelve {0:<array[0]>,1:<array[1]>,2:<array[2]>}
que no es la misma salida que Object.assign(...array)
.
Me parece que el método que estás buscando es .concat ()
Devuelve una nueva matriz que es una combinación del destino y la fuente.