Se sto ordinando due stringhe caffè e caffè c'è una buona pratica da seguire su quale lettera viene prima? Ho provato localeCompare in javascript e il caffè viene prima del caffè ma non capisco perché.Quando si ordinano stringhe deve venire prima e e
risposta
La migliore pratica è quella di ordinare prima i segni diacritici, es. il caffè viene prima del caffè.
localeCompare
opere nudo i segni diacritici, in modo che il criterio di ordinamento non riflette le parole reali, dal momento caffetteria è trasformato in caffè
Si può leggere di più su localeCompare qui:
Non penso di capire quello che stai dicendo. La parte confusa è che l'ordinamento non riflette le parole reali. –
'localeCompare' rimuove i segni diacritici, es. trasforma il caffè in caffetteria - quindi quando lo usi usando, si sta smistando il caffè contro il caffè –
Ho provato questo due modi diversi. Il primo test era ["café", "cafe"] il secondo era ["cafe", "café"]. L'ordine di input non importava che entrambe le volte il caffè uscisse per primo. Se ha spogliato i segni diacritici, l'ordine non dovrebbe essere preservato? –
https://en.wikipedia.org/wiki/Collation
Come il testo è ordinato dipende da come è fatto.
Una tradizione è la rappresentazione "US-ASCII" di caratteri, in particolare nel linguaggio di programmazione C. Quando il testo è ordinato secondo ASCII, l'ordine dipende esclusivamente dal valore numerico di ciascun carattere nella specifica ASCII. A volte questo è chiamato locale "C".
Il software moderno dovrebbe, in genere, utilizzare un locale adatto in modo che l'ordine avvenga nel modo previsto dalla gente, indipendentemente dalla rappresentazione numerica dei caratteri utilizzati dal computer.
- 1. vincolo di classe deve venire prima di qualsiasi altri vincoli
- 2. Le rotaie si uniscono a un elenco di stringhe con virgole e "e" prima dell'ultimo
- 3. In Excel, ordinando il carattere vuoto dovrebbe venire prima
- 4. stringhe JNI e stringhe C
- 5. Come si ordinano i file in ordine numerico?
- 6. Ordinamento stringhe, prima le lettere prima e poi le lettere all'interno delle parole
- 7. Quando si deve assegnare erroneamente a ENOMEM?
- 8. Cosa fare quando si utilizza Contract.Assert (true) e il metodo deve restituire qualcosa?
- 9. Perché la funzione defaultWriteObject deve essere chiamata per prima quando si scrive in un ObjectOutputStream?
- 10. Come si ordinano gli attori in uno stage libgdx?
- 11. Quando si restituisce E_POINTER e quando E_INVALIDARG?
- 12. Quando si usa "apply" e quando "funcall"?
- 13. Utilizzo di stringhe e stringhe intercambiabili
- 14. get_list_or_404 ordinano in Django
- 15. ottimizzazione del compilatore quando si ritorna stringhe
- 16. Come si ordinano le date in un dizionario?
- 17. Quando si memorizzano nella cache le immagini e i dati, si deve utilizzare la memoria interna o esterna?
- 18. Colonne che ordinano nel modello di Django
- 19. Come combinare stringhe C++ e stringhe Arduino?
- 20. Quando deve essere chiamato super.onResume()?
- 21. Concatenazione di stringhe e Autoboxing in Java
- 22. Come si ordinano automaticamente i metodi per intestazione?
- 23. mb_strtolower e UTF8 stringhe
- 24. Modelli e stringhe costanti
- 25. Java: confronto di stringhe e stringhe - Prestazioni
- 26. Java String.IndexOf e vuoti stringhe
- 27. Concatenazione di stringhe in Java - quando utilizzare +, StringBuilder e concat
- 28. Linqpad e codice EF5 prima
- 29. Congela prima colonna e dettaglio
- 30. Quando NON si deve usare l'asterisco (*) quando si dichiara una variabile nell'obiettivo C
Questo può essere rilevante: http://stackoverflow.com/questions/6909126/javascript-sort-with-unicode – MatthewMartin
sembra essere il contrario per me -> http: // jsfiddle.net/xvBWa/ – adeneo