-
Notifications
You must be signed in to change notification settings - Fork 667
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Добавляет доку про метод sort
#5135
Conversation
Превью контента из 635c6be опубликовано. |
|
||
## Кратко | ||
|
||
Метод `sort()` позволяет отсортировать массив с мутированием исходного массива. По умолчанию сортировка выполняется в порядке возрастания, элементы массива приводятся к строке, и их порядок сравнивается в UTF-16 кодировке. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Давай добавим важно дополнение
The sort must be stable
|
||
Метод `sort()` позволяет отсортировать массив с мутированием исходного массива. По умолчанию сортировка выполняется в порядке возрастания, элементы массива приводятся к строке, и их порядок сравнивается в UTF-16 кодировке. | ||
|
||
Мы можем передать функцию-компаратор для управления алгоритмом сравнения элементов. Метод возвращает ссылку на массив. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Мне кажется тут не совсем корректно. Алгоритм остается один и тот же, просто на каждом шаге вызывается твоя собственная функция
sort(compareFn) | ||
``` | ||
|
||
Функция-компаратор должна возвращать число. В функцию передаётся два аргумента `a` и `b`. Знак этого числа определяет порядок двух элементов относительно друг друга: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Не обязательно. Вот это не бросит ошибку
[1,2,3].sort(() => undefined)
|
||
```js | ||
const nums = [3, 4, 0] | ||
const compareFn = (a, b) => b - a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это работает, но тут надо проявлять осторожность :) На случай если в массиве не только числа
(Здесь не надо ничего исправлять)
@Maksim631 Ping :) |
Пока закрою этот PR. @Maksim631 переоткрывай как появишься. Вместе допилим |
Описание
Добавляет доку про метод
sort()
у массивовCloses #4826
Чек-лист
/css/color/
,/tools/json/
,/tools/gulp/#kak-ponyat
)images/example.png
,demos/example/
,../demos/example/
)