Rodney Rehm nedávno tweetoval o této funkci, o které jsem nikdy neslyšel – String
. A wow – to může být tak užitečné.
- Chtěli jste vědět, zda řetězec obsahuje danou sekvenci znaků bez ohledu na to, zda jsou velká nebo malá písmena?
- Narazili jste někdy na problém, že když chcete porovnat řetězce obsahující číselné hodnoty, obvykle to není tak snadné?
'aBcD' === 'abcd' // false
'ábcd' === 'abcd' // false
'Price 2€' > 'Price 1€' // true
'Price 20€' > 'Price 3€' // false
Pomocí localCompare
zde můžete definovat několik možností, které vám mohou pomoci. Podle MDN vrací následující hodnotu:
Pojďme se tedy podívat
'aBcD'.localeCompare('abcd', undefined, { sensitivity: 'base' }) // 0 -> equal
'ábcd'.localeCompare('abcd', undefined, { sensitivity: 'base' }) // 0 -> equal
'Price 20€'.localeCompare('Price 3€', undefined, { numeric: true }) // 1
'Price 20€'.localeCompare('Price 3€', undefined, { numeric: false }) // -1
To vám může pomoci zjistit, zda mají řetězce stejný základ, aniž byste si museli pohrávat s hodnotami číselného kódu a musíte uznat, že numeric
možnost je opravdu skvělá!!!