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

170
Vistas
Cómo ordenar una matriz usando el método genérico

Alguien me preguntó cómo ordenar la siguiente matriz según las reglas del juego de cartas usando un método genérico. Según mi investigación sobre las reglas de los juegos de cartas, el número pequeño es lo primero y los nombres siempre se organizan como Jack, Queen, King.

Esta es la matriz de abajo

 const cards = ['Jack', 8, 2, 6, 'King', 5, 3, 'Queen']

Salida requerida

 [2,3,5,6,8,'Jack','Queen','King']

Así que acabo de escribir una función básica para ordenarlo así

 function sortCard(){ cards.sort(); console.log(cards); } sortCard();

Me dio la salida requerida

 [2,3,5,6,8,'Jack','Queen','King']

Aunque mi enfoque es incorrecto y no responde la pregunta.

Entonces, ¿cómo puedo ordenar la carta según las reglas del juego de cartas usando un método genérico?

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

0

bueno, puedes usar un objeto para atribuir un valor numérico a 'Jota' o 'Rey'

 const reference={Jack:10,Queen:11,King:12,Ace:13} const cards = ['Jack', 8, 'Ace', 2, 6, 'King', 5, 3, 'Queen'] const sorter=(a,b)=>(reference[a]||a)-(reference[b]||b) //reference is only for words so if it's not one of the words, it choses the value itself to do the math console.log( cards.sort(sorter) )

about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí hay una función de clasificación simple

 const sortOrder = [2,3,4,5,6,7,8,9,10,"Jack","Queen","King","Ace"] const cards = ['Jack', 8, 2, 6, 'King', 5, 3, 'Queen'] cards.sort((a,b) => sortOrder.indexOf(a) - sortOrder.indexOf(b)) console.log(cards)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede pasar una función para ordenar para controlar la clasificación. Consulte los documentos de MDN para obtener más información.

Por ejemplo, si desea ordenar los meses del año:

 function sortMonths(arrayOfMonths){ order = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] return [...arrayOfMonths].sort((a, b) => order.indexOf(a) - order.indexOf(b)) } console.log(sortMonths(['Dec', 'May', 'Jul', 'Jun']))

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