Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

107
Visualizações
mapear a través de un objeto y llenar otro objeto

Estoy tratando de mapear a través de la matriz de objetos data.scales y mostrar los valores en la matriz obj createvalues como se muestra en la salida. No puedo entender esto. Debo asegurarme de no eliminar los valores existentes en la matriz createValues

 const obj = { projectId: 0, gridId: 0, createValues: [ { field: 1111, value: "cool" }, { field: 13341, value: "cl" }, { field: 1111, value: "cool" } ] }; const data = { scales:[ { ScaleId:109165, Value:"LOW" }, { ScaleId:109165, Value:"LOW" } ] }; const result = Object.entries(data.scales).map(([key, value]) => ({ field: data.scales.value, value: data.scales.value })); console.log(result) obj.createValues=

La salida esperada es esta:

 const output = { projectId: 0, gridId: 0, createValues: [ { field: 1111, value: "cool" }, { field: 13341, value: "cl" }, { field: 1111, value: "cool" } { field: 109165, value: "LOW" }, { field: 109165, value: "LOW" } ] };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Ya casi estabas allí, continuando con tu solución puedes hacer

Solución 1

 const results = Object.entries(data.scales).map(([key, value]) => { return ({ field: value.ScaleId, value: value.Value }) }); obj.createValues = [...obj.createValues, ...results]; // Use spread operator to combine two arrays

Solución 2

También puede utilizar el método array.map para recorrer directamente las escalas

Este método le permite recorrer los elementos de la matriz. Puede encontrar el valor en la matriz de objetos createValues y, si no existe, puede insertar el nuevo objeto en obj.createValues .

Solo verifiqué el valor, puede agregar una condición para el ID de campo si es necesario en el método de find .

 data.scales.map(sc => { if(obj.createValues.find(v => v.value !== sc.Value)) { obj.createValues.push({field: sc.ScaleId, value: sc.Value}) } })

Fragmento de solución:

 const obj = { projectId: 0, gridId: 0, createValues: [ { field: 1111, value: "cool" }, { field: 13341, value: "cl" }, { field: 1111, value: "cool" } ] }; const data = { scales:[ { ScaleId:109165, Value:"LOW" }, { ScaleId:109165, Value:"LOW" } ] }; data.scales.map(sc => { if(obj.createValues.find(v => v.value !== sc.Value)) { obj.createValues.push({field: sc.ScaleId, value: sc.Value}) } }) console.log(obj)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda