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

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

sort()

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

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

Сортування за замовчуванням відбувається коректно для масивів рядків, але числові масиви можуть викликати труднощі. Розглянемо приклади для кращого розуміння цієї поведінки:

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

У цьому прикладі масив чисел сортується у зростаючому порядку, що здається простим. Однак у наступній ілюстрації з'являються нюанси:

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

Метод sort() за замовчуванням розглядає елементи як рядки, що може призвести до неочікуваних результатів. Наприклад, 19 розташовується перед 2, а 25 — перед 3. Вирішення полягає в налаштуванні процесу сортування.

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

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

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

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

Suggested prompts:

Can you explain why the default sort method treats numbers as strings?

How does the compare function work in the sort method?

Can you show more examples of custom sorting, like sorting objects?

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

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

sort()

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

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

Сортування за замовчуванням відбувається коректно для масивів рядків, але числові масиви можуть викликати труднощі. Розглянемо приклади для кращого розуміння цієї поведінки:

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

У цьому прикладі масив чисел сортується у зростаючому порядку, що здається простим. Однак у наступній ілюстрації з'являються нюанси:

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

Метод sort() за замовчуванням розглядає елементи як рядки, що може призвести до неочікуваних результатів. Наприклад, 19 розташовується перед 2, а 25 — перед 3. Вирішення полягає в налаштуванні процесу сортування.

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

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

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