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

101
Visualizações
mantenga los índices de la matriz original de flotadores en la clasificación y ordene inversamente para recuperar la matriz original después js

Tengo esta matriz particular de flotadores

segm3 = [0.0, 2.5, 3.62, 0.0, 2.5, 3.62, 0.0]

Deseo ordenarlo manteniendo los índices originales. Este es mi código:

 var indices = Array.from(Array(segm3.length).keys()) .sort(function(a,b) { if (segm3[a] > segm3[b]) return 1; else if (segm3[a]<segm3[b]) return -1 ;else return 0;})

cuando trato de consola.log los índices me sale esto

 [ 0, 3, 6, 1, 4, 2, 5 ]

Debería ser correcto, pero después de ordenar segm3, ¿cómo puedo volver a formar el segm3 original con el uso de la lista de índices?

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

0

Para mantener los índices originales, puede usar Array.prototype.map() y Array.prototype.sort() :

Código:

 const segm3 = [0.0, 2.5, 3.62, 0.0, 2.5, 3.62, 0.0] const segm3SortedWithIndexes = segm3 .map((f, i) => ({ floatNumber: f, index: i, // <-- original index })) .sort((a, b) => a.floatNumber - b.floatNumber) console.log('"segm3" with original index:', segm3SortedWithIndexes) const result = segm3SortedWithIndexes.map(({ floatNumber: f }) => f) console.log('"segm3" sorted:', result)

about 4 years ago · Juan Pablo Isaza Relatório

0

después de segm3.sort(function(a,b) {return ab})

sólo

 let resultArr; for(var i=0;i<indices.length;i++){ resultArr[indices[i]]=segm3[i] }

Era tan simple como eso, pero mi mente se derritió

about 4 years ago · Juan Pablo Isaza Relatório

0

Después de haber ordenado los índices de acuerdo con los valores en segm3 , si luego ordena segm3 , puede restaurar el orden original de segm3 usando la matriz de indices para extraer los valores de la matriz segm3 ordenada:

 const segm3 = [0.0, 2.5, 3.62, 0.0, 2.5, 3.62, 0.0] console.log(JSON.stringify(segm3)) let indices = Array.from(Array(segm3.length).keys()) .sort((a,b) => segm3[a] - segm3[b]) console.log(JSON.stringify(indices)) segm3.sort((a,b) => a - b); console.log(JSON.stringify(segm3)) let origsegm3 = indices.map(i => segm3[i]) console.log(JSON.stringify(origsegm3))

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