Сортування Масивів за Допомогою Методу sort()
У цьому розділі розглядаються особливості методу sort(), включаючи його синтаксис, типову поведінку та техніки користувацького сортування.
sort()
Метод sort() змінює вихідний масив, надаючи йому новий порядок елементів.
Основні характеристики:
- Вихідний масив змінюється, елементи отримують новий порядок;
- Метод повертає змінений масив, що дозволяє подальше використання;
- За замовчуванням метод sort() впорядковує елементи у зростаючому порядку.
Поведінка сортування за замовчуванням
Сортування за замовчуванням працює бездоганно для масивів рядків, але для числових масивів можуть виникати труднощі. Розглянемо приклади, щоб прояснити цю поведінку:
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
У цьому прикладі масив чисел відсортовано за зростанням, що здається очевидним. Проте певні нюанси проявляються у наступній ілюстрації:
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
sort() за замовчуванням розглядає елементи як рядки, що може призводити до неочікуваних результатів. Наприклад, 19 розташовується перед 2, а 25 — перед 3. Вирішенням є налаштування процесу сортування.
Користувацькі порядки сортування
Для адаптації сортування під конкретні потреби використовується функція зворотного виклику. Ця функція, яку часто називають функцією порівняння, визначає логіку сортування. Розглянемо приклади користувацького сортування для чисел і рядків. Базовий синтаксис:
array.sort((a, b) => {
// Callback body
});
aрозглядається як перший елемент;bрозглядається як другий елемент.
Сортування чисел
У цьому випадку функція порівняння визначає порядок зростання або спадання на основі співвідношення між елементами a та b.
1234567const 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
Сортування рядків
Метод localeCompare() забезпечує алфавітне сортування, дозволяючи налаштовувати як зростаючий, так і спадний порядок.
1234567const 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
1. Яка ключова характеристика методу sort()?
2. Як метод sort() за замовчуванням обробляє елементи під час сортування?
3. У наведеному нижче прикладі, який буде результат виводу?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain why the default sort method treats numbers as strings?
How do I use a custom compare function for more complex sorting?
Can you show more examples of sorting arrays with objects?
Awesome!
Completion rate improved to 2.27
Сортування Масивів за Допомогою Методу sort()
Свайпніть щоб показати меню
У цьому розділі розглядаються особливості методу sort(), включаючи його синтаксис, типову поведінку та техніки користувацького сортування.
sort()
Метод sort() змінює вихідний масив, надаючи йому новий порядок елементів.
Основні характеристики:
- Вихідний масив змінюється, елементи отримують новий порядок;
- Метод повертає змінений масив, що дозволяє подальше використання;
- За замовчуванням метод sort() впорядковує елементи у зростаючому порядку.
Поведінка сортування за замовчуванням
Сортування за замовчуванням працює бездоганно для масивів рядків, але для числових масивів можуть виникати труднощі. Розглянемо приклади, щоб прояснити цю поведінку:
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
У цьому прикладі масив чисел відсортовано за зростанням, що здається очевидним. Проте певні нюанси проявляються у наступній ілюстрації:
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
sort() за замовчуванням розглядає елементи як рядки, що може призводити до неочікуваних результатів. Наприклад, 19 розташовується перед 2, а 25 — перед 3. Вирішенням є налаштування процесу сортування.
Користувацькі порядки сортування
Для адаптації сортування під конкретні потреби використовується функція зворотного виклику. Ця функція, яку часто називають функцією порівняння, визначає логіку сортування. Розглянемо приклади користувацького сортування для чисел і рядків. Базовий синтаксис:
array.sort((a, b) => {
// Callback body
});
aрозглядається як перший елемент;bрозглядається як другий елемент.
Сортування чисел
У цьому випадку функція порівняння визначає порядок зростання або спадання на основі співвідношення між елементами a та b.
1234567const 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
Сортування рядків
Метод localeCompare() забезпечує алфавітне сортування, дозволяючи налаштовувати як зростаючий, так і спадний порядок.
1234567const 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
1. Яка ключова характеристика методу sort()?
2. Як метод sort() за замовчуванням обробляє елементи під час сортування?
3. У наведеному нижче прикладі, який буде результат виводу?
Дякуємо за ваш відгук!