Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

113
Views
¿Cómo puedo cambiar mi función de clasificación para aceptar tanto el orden ascendente como el descendente?

tengo una función, que se ve así:

 const [data, setData] = useState([]); const [sortType, setSortType] = useState("title"); useEffect(() => { const sortArray = (type) => { const types = { title: "title", release_date: "release_date", charactersList: "charactersList", }; const sortProperty = types[type]; if (sortProperty === "charactersList") { const sorted = [...episodes].sort( (a, b) => a.charactersList.length - b.charactersList.length ); setData(sorted); } else { const sorted = [...episodes].sort((a, b) => ("" + a[sortProperty]).localeCompare("" + b[sortProperty]) ); setData(sorted); } }; sortArray(sortType); }, [episodes, sortType]);

y la select :

 <select defaultValue="Sort" onChange={(e) => setSortType(e.target.value)}> <option value="title">Alfabetycznie AZ</option> <option value="release_date">wg. daty rosnąco</option> <option value="charactersList">wg. liczby postaci rosnąco</option> </select>

Me preguntaba, ¿cómo puedo cambiarlo, para poder elegir una opción de value="titleDESC" para que ordene DESC?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

¿Puede usar una función de clasificación con una dirección de clasificación identificada?

 function sortTitle(a, b, d) { return a.localeCompare(b) * d; }

Que puede llamar desde su array.sort() así:

 array.sort((a,b) => sortTitle(a,b,-1))

vea este stackblitz: https://stackblitz.com/edit/js-ubeyxc

Si hace que el valor de llamada de d dependa de titleDESC o titleASC , puede usar la misma función de clasificación, simplemente cambie la dirección de la clasificación.

 const d = (sortProperty==='titleDESC') ? -1 : 1; array.sort((a,b) => sortTitle(a,b,-1));
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!