логотип PurpleSchool
логотип PurpleSchool

Как работает метод localeCompare() - JavaScript

Автор

Виталий Котов

Метод localeCompare() проверяет, идет ли заданная строка до, после или эквивалентна другой строке в порядке сортировки.

// сравнение 'c' и 'b' с помощью функции localeCompare()
let result1 = "c".localeCompare("b");

// возвращает положительное значение, если 'b' стоит перед 'c'
console.log(result1);

// Вывод в консоль:
// 1

Синтаксис localeCompare()

Синтаксис метода localeCompare() следующий:

str.localeCompare(compareStr, locales, options);

Где str - это строка.

Параметры localeCompare()

Метод localeCompare() принимает:

  • compareStr
    • строка, с которой сравнивается str.
  • locales и options (необязательно) - эти аргументы настраивают функцию, указывая, какие соглашения о форматировании использовать.

Возвращаемое значение localeCompare()

localeCompare() возвращает:

  • -1 : если ссылочная строка расположена перед compareStr.
  • 0 : если две строки эквивалентны.
  • 1 : если ссылочная строка расположена после compareStr.

Примечание: поскольку возвращаемые отрицательные и положительные целые числа различаются в разных браузерах, не полагайтесь на точные значения -1 или 1.

Примеры

Пример 1: Использование метода localeCompare()

// сравнение 'c' с 'b' с помощью localeCompare()
let result1 = "c".localeCompare("b");

console.log(result1);

Вывод в консоль:

1

В приведенном выше примере мы передали 'c' в качестве ссылочной строки и 'b' в качестве строки сравнения и присвоили возвращаемое значение localeCompare() к result1.

Поскольку алфавит 'c' идет после 'b', 'c'.localeCompare('b') возвращает положительное число, т.е. 1.

Пример 2: Использование метода localeCompare()

// сравнение 'c' с 'b' с помощью localeCompare()
let result2 = "b".localeCompare("c");

console.log(result2);

Вывод в консоль:

-1

Здесь мы передали 'b' в качестве ссылочной строки и 'c' в качестве строки сравнения. Поскольку ссылочная строка идет перед compareStr, 'b'.localeCompare('c') возвращает отрицательное значение, равное -1.

Пример 3: localeCompare() с равными строками

// сравнение «JavaScript» и «JavaScript» с использованием localeCompare()
let result1 = "JavaScript".localeCompare("JavaScript");

console.log(result1);

// сравнение «Python» и «JavaScript» с использованием localeCompare()
let result2 = "Python".localeCompare("JavaScript");

console.log(result2);

Вывод в консоль:

0
1

В приведенном выше примере мы сравнили две неравные строки 'Python' и 'JavaScript'. Поскольку 'Python' следует за 'JavaScript', метод возвращает 1.

Однако при сравнении двух равных строк 'JavaScript' метод возвращает 0.

Пример 4: Использование localeCompare() с локалями и опциями

// передача локали, которая определяет немецкое соглашение о форматировании
let value1 = "ä".localeCompare("z", "de");

console.log(value1); // отрицательное значение: в немецком ä сортируется перед z

// передача локали, которая определяет шведское соглашение о форматировании
let value2 = "ä".localeCompare("z", "sv");

console.log(value2); // положительное значение: в шведском ä сортируется после z

// сравнение по умолчанию между двумя числами «5» и «40»
console.log("5".localeCompare("40")); // 1

// последние параметры указывают на «опции»
let value3 = "5".localeCompare("40", undefined, { numeric: true });

console.log(value3); // отрицательное значение

Вывод в консоль:

-1
1
1
-1
Стрелочка влевоКак работает метод match() - JavaScriptКак работает свойство length - JavaScriptСтрелочка вправо

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод reverse() - JavaScriptКак работает метод some() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний