Sto tentando di utilizzare la funzione localeCompare di JavaScript per l'ordinamento delle stringhe.Forza localeCon riferimento alla distinzione tra maiuscole e minuscole
Sono rimasto sorpreso dai risultati di esecuzione le seguenti righe nella console DevTools:
"a".localeCompare("b") // returns: -1
"A".localeCompare("b") // returns: -1
un altro test:
"b".localeCompare("a") // returns: 1
"B".localeCompare("a") // returns: 1
Anche quando sono più specifiche sul mio genere ottengo lo stesso risultato:
"a".localeCompare("b", { usage: "sort", sensitivity: 'variant' }) // -1
"A".localeCompare("b", { usage: "sort", sensitivity: 'variant' }) // -1
"b".localeCompare("a", { usage: "sort", sensitivity: 'variant' }) // 1
"B".localeCompare("a", { usage: "sort", sensitivity: 'variant' }) // 1
Desidero utilizzare localeCompare per confrontare le stringhe in un case-sensitive modo, quindi non "b" rispetto a "a" e "B" rispetto a "a" hanno risultati opposti?
Stavo per suggerire di fornire un argomento 'locales', ma, almeno con' "en" 'che non ha fatto la differenza. Ho anche provato l'opzione '" caseFirst "', ma non ha fatto nessuna differenza, anche se dice * Le implementazioni non sono richieste per supportare questa proprietà. * –
Scusa, non capisco la tua confusione, come sarebbe ' b' si verificano prima di 'A' nell'ordine alfabetico? – Teemu
@Teemu Ho aggiunto un altro esempio nella mia domanda per mostrare il caso opposto ... non dovrebbe essere "B" prima di "a"? –