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

165
Visualizações
Modifique la matriz de objetos para reemplazar con propiedades adicionales si es nulo

Tengo una matriz de objetos de la siguiente manera

 let data = [ { vertical_name: "CORE", projects: [ { name: "Alpha", id: 187, current_result: null, } ] }, { vertical_name: "release", projects: [ { name: "Beta", id: 27, current_result: { success_percentage: 37, failure_percentage: 25, skip_percentage: 36 } }, { name: "Charlie", id: 47, current_result: { success_percentage: 37, failure_percentage: 25, skip_percentage: 36 } } ] } ]

Como puede ver, current_result es nulo en un lugar. Así que tengo que modificar los datos para mostrar que current_result no se prueba. Entonces, en este caso, en lugar de mostrar nulo, quiero mostrar lo siguiente. not_tested es 100 y el porcentaje de omisión, error y éxito es 0 en este caso.

 current_result: { success_percentage: 0, failure_percentage: 0, skip_percentage: 0, not_tested: 100 }

También en otros valores de current_result , dado que no es nulo y tiene valores de success, failure and skip values , not_tested debe ser 0 para esto.

El resultado final debería ser algo como esto. ¿Puede alguien decirme cómo lograr esto, ya que es un poco complicado para mí llegar a una respuesta definitiva?

 result = [ { vertical_name: "CORE", projects: [ { name: "Alpha", id: 187, current_result: { success_percentage: 0, failure_percentage: 0, skip_percentage: 0, not_tested: 100 } } ] }, { vertical_name: "release", projects: [ { name: "Beta", id: 27, current_result: { success_percentage: 37, failure_percentage: 25, skip_percentage: 36, not_tested: 0 } }, { name: "Charlie", id: 47, current_result: { success_percentage: 37, failure_percentage: 25, skip_percentage: 36, not_tested: 0 } } ] } ]
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puede hacer un bucle en la matriz de projects de data e insertar las claves que desee de esta manera:

 let data = [ { vertical_name: "CORE", projects: [ { name: "Alpha", id: 187, current_result: null, } ] }, { vertical_name: "release", projects: [ { name: "Beta", id: 27, current_result: { success_percentage: 37, failure_percentage: 25, skip_percentage: 36 } }, { name: "Charlie", id: 47, current_result: { success_percentage: 37, failure_percentage: 25, skip_percentage: 36 } } ] } ] data.forEach(dat => { dat.projects.forEach(prj => { if (!prj.current_result) { prj.current_result = { success_percentage: 0, failure_percentage: 0, skip_percentage: 0, not_tested: 100 }; } else { prj.current_result.not_tested = 0; } }) }) console.log(data)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede filtrar los datos de sus resultados y asignar un valor predeterminado.

 const result = data.map((item) => { const projects = item.projects.map((project) => { if (!project?.current_result) { return { ...project, current_result: { success_percentage: 0, failure_percentage: 0, skip_percentage: 0, not_tested: 100, }, }; } else { return project; } }); console.log(result)
about 4 years ago · Juan Pablo Isaza Relatório

0

Usando Array#map sin mutar los datos originales

 const data = [{"vertical_name":"CORE","projects":[{"name":"Alpha","id":187,"current_result":null}]},{"vertical_name":"release","projects":[{"name":"Beta","id":27,"current_result":{"success_percentage":37,"failure_percentage":25,"skip_percentage":36}},{"name":"Charlie","id":47,"current_result":{"success_percentage":37,"failure_percentage":25,"skip_percentage":36}}]}]; const formatted = data.map(item => Object.assign(item, { projects: item.projects.map(project => { if (project.current_result === null) { project.current_result = { success_percentage: 0, failure_percentage: 0, skip_percentage: 0, not_tested: 100 }; } else project.current_result.not_tested = 0; return project; }) })); console.log(formatted);

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