Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Сортування Масивів за Допомогою Методу sort() | Розширені Методи Масивів та Трансформації
Структури Даних JavaScript

bookСортування Масивів за Допомогою Методу sort()

sort()

Метод sort() переставляє елементи масиву на місці та повертає оновлений масив. За замовчуванням сортування добре працює для рядків, але може поводитися неочікувано з числами.

Поведінка сортування за замовчуванням

Метод sort() за замовчуванням перетворює елементи на рядки та порівнює їх у порядку Unicode. Тому він природно працює для рядків, але числові масиви можуть давати неочікувані результати, якщо не вказати функцію порівняння.

123
const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
copy

Для коректного сортування чисел використовуйте функцію порівняння:

1234
const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
copy

Користувацькі порядки сортування

Для налаштування сортування під конкретні потреби використовується функція зворотного виклику. Ця функція, яку часто називають функцією порівняння, визначає логіку сортування. Розглянемо користувацьке сортування як для чисел, так і для рядків. Базовий синтаксис:

array.sort((a, b) => {
  // Callback body
});
  • a розглядається як перший елемент;
  • b розглядається як другий елемент.

Сортування чисел

У цьому випадку функція порівняння визначає порядок зростання або спадання на основі співвідношення елементів a та b.

1234567
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
copy

Сортування рядків

Метод localeCompare() забезпечує алфавітне сортування, дозволяючи налаштовувати як зростаючий, так і спадний порядок.

1234567
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
copy

1. Яка ключова характеристика методу sort()?

2. Як метод sort() за замовчуванням обробляє елементи під час сортування?

3. Яким буде результат виконання наведеного нижче прикладу?

question mark

Яка ключова характеристика методу sort()?

Select the correct answer

question mark

Як метод sort() за замовчуванням обробляє елементи під час сортування?

Select the correct answer

question mark

Яким буде результат виконання наведеного нижче прикладу?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 7

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookСортування Масивів за Допомогою Методу sort()

Свайпніть щоб показати меню

sort()

Метод sort() переставляє елементи масиву на місці та повертає оновлений масив. За замовчуванням сортування добре працює для рядків, але може поводитися неочікувано з числами.

Поведінка сортування за замовчуванням

Метод sort() за замовчуванням перетворює елементи на рядки та порівнює їх у порядку Unicode. Тому він природно працює для рядків, але числові масиви можуть давати неочікувані результати, якщо не вказати функцію порівняння.

123
const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
copy

Для коректного сортування чисел використовуйте функцію порівняння:

1234
const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
copy

Користувацькі порядки сортування

Для налаштування сортування під конкретні потреби використовується функція зворотного виклику. Ця функція, яку часто називають функцією порівняння, визначає логіку сортування. Розглянемо користувацьке сортування як для чисел, так і для рядків. Базовий синтаксис:

array.sort((a, b) => {
  // Callback body
});
  • a розглядається як перший елемент;
  • b розглядається як другий елемент.

Сортування чисел

У цьому випадку функція порівняння визначає порядок зростання або спадання на основі співвідношення елементів a та b.

1234567
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
copy

Сортування рядків

Метод localeCompare() забезпечує алфавітне сортування, дозволяючи налаштовувати як зростаючий, так і спадний порядок.

1234567
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
copy

1. Яка ключова характеристика методу sort()?

2. Як метод sort() за замовчуванням обробляє елементи під час сортування?

3. Яким буде результат виконання наведеного нижче прикладу?

question mark

Яка ключова характеристика методу sort()?

Select the correct answer

question mark

Як метод sort() за замовчуванням обробляє елементи під час сортування?

Select the correct answer

question mark

Яким буде результат виконання наведеного нижче прикладу?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 7
some-alt