Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

259
Vistas
¿Cómo ordenar una matriz de cadenas por prioridad?

Me gustaría preguntar cómo podría ordenar una serie de cadenas por dominio de correo electrónico de prioridad.

Por ejemplo, esta es mi lista de prioridades.

 1st: gmail.com 2nd: outlook.com 3rd: yahoo.com 4th: hotmail.com 5th: live.com 6th: Other Domain

Entonces, si esta es mi cadena

 const personalEmail = ['email@yahoo.com','email@live.com','email@other.com','email@gmail.com','email@outlook.com']

¿Cuáles son las formas de lograr esto?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede almacenar el orden de los dominios en una matriz, luego en la devolución de llamada de sort , reste el índice de los dos dominios en la matriz para determinar la precedencia.

Si uno de los índices es -1 , ordene el otro elemento antes de aquel cuyo dominio no estaba en la matriz.

 const domainPrecedence = ['gmail.com', 'outlook.com', 'yahoo.com', 'hotmail.com', 'live.com'] const personalEmail = ['email@yahoo.com', 'email@live.com', 'email@other.com', 'email@gmail.com', 'email@outlook.com'] const sorted = personalEmail.sort((a, b) => { let index1 = domainPrecedence.indexOf(a.split('@')[1]) let index2 = domainPrecedence.indexOf(b.split('@')[1]) return index1 == -1 ? 1 : index2 == -1 ? -1 : index1 - index2; }) console.log(sorted)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto supone que other.com significa que podría ser cualquier otro dominio.

 const priority = [ 'gmail.com', 'outlook.com', 'yahoo.com', 'hotmail.com', 'live.com', ]; const personalEmail = [ 'email@yahoo.com', 'email@live.com', 'lasvegas@baby.com', 'email@other.com', 'email@gmail.com', 'email@outlook.com', ]; console.log( personalEmail.sort((a, b) => { const firstIndex = priority.indexOf(a.split('@')[1]); const secondIndex = priority.indexOf(b.split('@')[1]); return ( (firstIndex === -1 ? 5 : firstIndex) - (secondIndex === -1 ? 5 : secondIndex) ); }), );

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda