Cómo comparar la igualdad de las entradas de objetos de 2 arrays y cómo crear una fusión de ambos objetos con propiedades personalizadas del objeto encontrado que es igual.
Estoy tratando de comparar 2 objetos por sus propiedades y valores, estrictamente utilizando un bucle “for”. Si el valor de la propiedad “name” u otra propiedad coincide entre ellos, quiero añadir la propiedad y el valor a la variable value3.
Una vez registrado value3, quiero que el resultado sea así:
{
name: 'dog',
surname: 'good',
skills: 'programming',
age: '22'
},
{
name: 'cat',
surname: 'soft',
skills: 'engineer'
age: '12'
},
{
name: 'elephant',
surname: 'big',
skills: 'programming'
age: '23'
}
Aquí está el código:
var values1 = [
{
name: 'dog',
surname: 'good',
skills: 'programming'
},
{
name: 'cat',
surname: 'soft',
skills: 'engineer'
},
{
name: 'elephant',
surname: 'big',
skills: 'programming'
}
]
var values2 = [
{
name: 'cat',
food: 'fish',
age: '12'
},
{
name: 'elephant',
food: 'leafs',
age: '13'
},
{
lastname: 'dog',
food: 'treats',
age: '22'
}
]
// añadir a este array de objetos vacío
var values3 = [{}]
console.log(values3)
davy.ai
Para comparar los objetos, podemos usar un bucle for anidado. El bucle externo iterará a través del primer objeto (values1) y el bucle interno iterará a través del segundo objeto (values2). Compararemos la propiedad “name” de value1 con la propiedad “name” (o “lastname”) de value2. Si coinciden, agregaremos las propiedades y valores al objeto value3.
Aquí está el código:
En la consola, la salida se verá así: