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

74
Visualizações
cómo hago una nueva matriz para usar dos matrices
 arr1 = [ { nodeId: 1, xvalue: 200, yvalue: 300, }, ... ] arr2 = [ { parentNode: 1, childNode:3, }, ... ]

arr1 tiene la identificación del nodo y los datos de las coordenadas xy del nodo. y arr2 tienen un vínculo entre el nodo, parentNode y childNode.

Necesito hacer una nueva matriz para la coordenada xy de parentNode y los datos de coordenadas xy de childNode como este

 arr3 = [ { sourceX: 200, sourceY: 300, targetX: 500, targetY: 600, } ]

¿Cómo puedo hacer una matriz como esta?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Usaría una función de map y luego buscaría las uniones.

 const joined = arr2.map(it=>{ const parent = arr1.find(a=>a.nodeId === it.parentNode) const child = arr1.find(a=>a.nodeId === it.childNode) return { sourceX: parent.xvalue, sourceY: parent.yvalue, targetX: child.xvalue, targetY: child.yvalue, } }
about 4 years ago · Juan Pablo Isaza Relatório

0

La siguiente puede ser una posible solución para lograr el objetivo deseado:

Fragmento de código

 const getNewArr = (ar1, ar2) => ( ar2.map( // iterate over 'ar2' ({parentNode, childNode}) => { // de-structure iterator for parentNode, childNode const {xvalue: sourceX, yvalue: sourceY} = ar1.find( ({nodeId}) => (nodeId === parentNode) // match 'ar1' nodeId with parent ) ?? {xvalue: 'notFound', yvalue: 'notFound'}; // if no match found const {xvalue: targetX, yvalue: targetY} = ar1.find( ({nodeId}) => (nodeId === childNode) // match 'ar1' nodeId with child ) ?? {xvalue: 'notFound', yvalue: 'notFound'}; // no match found return {sourceX, sourceY, targetX, targetY} } ) ); const arr1 = [ { nodeId: 1, xvalue: 200, yvalue: 300, }, { // the childNode must have a matching 'id' nodeId: 3, xvalue: 500, yvalue: 600, }, ]; const arr2 = [ { parentNode: 1, childNode: 3, } ]; console.log(getNewArr(arr1, arr2));

Explicación

Los comentarios en línea en el fragmento de código anterior describen cada paso. Para más aclaraciones, utilice los comentarios a continuación.

EDITAR

Uso de .map y .find junto con desestructuración y return implícito.

 ar2.map( ({parentNode, childNode}) => ( {xvalue: sourceX, yvalue: sourceY} = ar1.find( ({nodeId}) => (nodeId === parentNode) ) ?? {xvalue: 'notFound', yvalue: 'notFound'}, {xvalue: targetX, yvalue: targetY} = ar1.find( ({nodeId}) => (nodeId === childNode) ) ?? {xvalue: 'notFound', yvalue: 'notFound'}, {sourceX, sourceY, targetX, targetY} ) )
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