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

92
Visualizações
ordenar valores únicos en la misma línea

Si tengo una lista de elementos como este en cualquier área de texto, puedo usar un bookmarklet para ordenar los valores únicos.

 a b d c c

Hago clic en el bookmarklet y la lista se corrige a:

 a b c d

código:

 javascript: ( function() { Array.from(document.querySelectorAll('textarea')).map(function(b) { var a = document.createElement('div'); var d = document.createElement('button'); d.textContent = '↑'; d.addEventListener('click', function(f) { f.preventDefault(); b.value = Array.from(new Set(b.value.split('\n'))).sort().join('\n') }); var c = document.createElement('button'); c.textContent = '↓'; c.addEventListener('click', function(f) { f.preventDefault(); b.value = Array.from(new Set(b.value.split('\n'))).sort().reverse().join('\n') }); a.appendChild(d); a.appendChild(c); b.parentNode.insertBefore(a, b) }) } )();

Pero esto no funciona si todos los elementos están en la misma línea de esta manera...

 a , b,d , c,c

¿Es posible modificar el código para devolver los artículos como este...

 a, b, c, d

Puedo hacer eso en python. Pero me gustaría saber si es posible usar el bookmarklet de JavaScript.

 myl = [i.strip() for i in text.split(',')] myl.sort() ', '.join(set(myl))
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Esto funcionaría mejor porque dado que su entrada tiene espacios en blanco, tenemos que usar expresiones regulares para dividir la cadena.

 b = Array.from( new Set(b.split(/[ ,]+/))).sort().reverse().join(',')
about 4 years ago · Juan Pablo Isaza Relatório

0

En esta línea:

 b.value = Array.from( new Set(b.value.split('\n'))).sort().reverse().join('\n')

Solo necesita cambiar '\n' a , , como:

 b.value = Array.from( new Set(b.value.split(','))).sort().reverse().join(','); b.value.forEach(item => item.trim()); //to remove trailing whitespaces
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede probar lodash para este propósito, como se menciona en otras respuestas, primero debe cambiar el formato de las palabras de: a b d c c a: a, b, d, c, c

si cambia

 let x= // your values eg a,b,d,c,c // let valuesArray=_.split(x,',') uniqueFromArray=_.uniq(valuesArray)

si no cambia

 let x= // your current input values // let valuesArray=_.split(x,'\n') uniqueFromArray=_.uniq(valuesArray)
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