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

180
Visualizações
Reorganizar los elementos de la matriz de la matriz de indexación actualizada

Realmente no sé cómo explicar mi problema, lo siento por el título.

Tengo tres matrices de JavaScript:

 //indexing array originalData = ['data1', 'data2', 'data3'] //target array originalPos = ['50 a', '80 b', '31 c'] //updated indexing array newData = ['data1', 'data3', 'data2']

Con esa matriz, quiero obtener el nuevo orden de la matriz originalPos usando una matriz newData como esta:

 originalPos = ['50 a', '31 c', '80 b']

El objetivo es poder cambiar la posición de mis waypoints en Leaflet Routing Machine usando L.routing.machine.spliceWaypoints()

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

0

Puede reorganizar encontrando la posición de cada elemento de originalPos en originalData y con esa posición respectiva puede empujar el elemento de newData a la matriz de resultados.

Suponiendo que no hay datos duplicados dentro de las tres matrices

 const originalData = ['data1', 'data2', 'data3'] const originalPos = ['50 a', '80 b', '31 c'] const newData = ['data1', 'data3', 'data2'] const newPos = newData.map(n => n && originalPos[originalData.indexOf(n)]); console.log(newPos);

about 4 years ago · Juan Pablo Isaza Relatório

0

Tome nota de los índices en los que se encuentran las claves originales en originalData (utilizando un mapa o un objeto simple). Luego asigne las claves en el nuevo orden ( newData ) al índice en ese mapeo, y tome el valor en ese índice en los datos de entrada ( originalPos ):

 const originalData = ['data1', 'data2', 'data3']; const originalPos = ['50 a', '80 b', '31 c']; const newData = ['data1', 'data3', 'data2']; const map = new Map(originalData.map((val, i) => [val, i])); const result = newData.map((val, i) => originalPos[map.get(val)]); console.log(result);

NB: el uso del mapa evitará un escaneo en la primera matriz en cada iteración (como con indexOf ), lo que le dará una mejor complejidad de tiempo.

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