mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-10 19:07:49 +00:00
Support locales in sorting methods (#3602)
This commit is contained in:
@@ -20,14 +20,21 @@ function compareAscending(value, other) {
|
|||||||
const othIsReflexive = other === other
|
const othIsReflexive = other === other
|
||||||
const othIsSymbol = isSymbol(other)
|
const othIsSymbol = isSymbol(other)
|
||||||
|
|
||||||
if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||
|
let val = 0
|
||||||
|
if (typeof value == 'string') {
|
||||||
|
val = value.localeCompare(other,'zh')
|
||||||
|
} else {
|
||||||
|
val = value - other
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((!othIsNull && !othIsSymbol && !valIsSymbol && val>0) ||
|
||||||
(valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
|
(valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
|
||||||
(valIsNull && othIsDefined && othIsReflexive) ||
|
(valIsNull && othIsDefined && othIsReflexive) ||
|
||||||
(!valIsDefined && othIsReflexive) ||
|
(!valIsDefined && othIsReflexive) ||
|
||||||
!valIsReflexive) {
|
!valIsReflexive) {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||
|
if ((!valIsNull && !valIsSymbol && !othIsSymbol && val<0) ||
|
||||||
(othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
|
(othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
|
||||||
(othIsNull && valIsDefined && valIsReflexive) ||
|
(othIsNull && valIsDefined && valIsReflexive) ||
|
||||||
(!othIsDefined && valIsReflexive) ||
|
(!othIsDefined && valIsReflexive) ||
|
||||||
|
|||||||
Reference in New Issue
Block a user