Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

36
Vistas
Actualizar el objeto de par clave-valor en una matriz desde el par de fila/valor clave correspondiente en otra matriz

Tengo dos matrices, cada una con un objeto de años con pares clave-valorados del año y un valor. Quiero crear una versión actualizada de array1 con los valores para los años de cada fila reducidos por los valores de los valores correspondientes en array2

es decir, A/Fred/2013 debería reducirse de 16 por 3 a 13 y así sucesivamente.

Hasta ahora lo he hecho, pero no logro actualizar la matriz correctamente.

array1.forEach(r1 => {
    // Get the corresponding row from array2
    let array2Record = array2.find(r2 => r2.key1 === r1.key1 && r2.key2 === r1.key2);
    // Go through each of the years for this row in array1
    Object.entries(r1.years).forEach(keyValuePair => {
        // And reduce it by the value in array2
        keyValuePair.value = keyValuePair.value - array2Record.years[keyValuePair.key].value;
    })
})

Esta es la versión simplificada de los datos.

let array1 = [
    {
        "key1": "A",
        "key2": "Fred",
        "years": {
            "2013": 16,
            "2014": 11,
            "2015": 17
        }
    },
    {
        "key1": "A",
        "key2": "Jim",
        "years": {
            "2013": 1,
            "2014": 4,
            "2015": 3
        }
    },
    {
        "key1": "B",
        "key2": "Mary",
        "years": {
            "2013": 1,
            "2014": 4,
            "2015": 3
        }
    }
]

let array2 = [
    {
        "key1": "A",
        "key2": "Fred",
        "years": {
            "2013": 3,
            "2014": 2,
            "2015": 7
        }
    },
    {
        "key1": "A",
        "key2": "Jim",
        "years": {
            "2013": 9,
            "2014": 3,
            "2015": 1
        }
    },
    {
        "key1": "B",
        "key2": "Mary",
        "years": {
            "2013": 8,
            "2014": 3,
            "2015": 6
        }
    }
]
over 2 years ago · Carlos Garzón Colorado
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda