Кратко
СкопированоМетод массива to
это копия метода sort
, но, в отличие от него, не мутирует исходный массив, а возвращает новый отсортированный массив. Все undefined
элементы сортируются в конец массива.
Пример
СкопированоОтсортируем массив с числами:
const numbers = [43, 6, 35, 1, 9, 7, 5, 75, 16];const sortedNumbers = numbers.toSorted((a, b) => a - b);console.log(numbers);// [43, 6, 35, 1, 9, 7, 5, 75, 16];console.log(sortedNumbers);// [1, 5, 6, 7, 9, 16, 35, 43, 75]
const numbers = [43, 6, 35, 1, 9, 7, 5, 75, 16]; const sortedNumbers = numbers.toSorted((a, b) => a - b); console.log(numbers); // [43, 6, 35, 1, 9, 7, 5, 75, 16]; console.log(sortedNumbers); // [1, 5, 6, 7, 9, 16, 35, 43, 75]
Отсортируем массив с именами:
const names = [ 'Kirill', 'Alex', 'Denis', 'Albert', undefined, '',];const sortedNames = names.toSorted();console.log(sortedNames)// ['', 'Albert', 'Alex', 'Denis', 'Kirill', undefined]// undefined элементы будут в конце массива.
const names = [ 'Kirill', 'Alex', 'Denis', 'Albert', undefined, '', ]; const sortedNames = names.toSorted(); console.log(sortedNames) // ['', 'Albert', 'Alex', 'Denis', 'Kirill', undefined] // undefined элементы будут в конце массива.
Как пишется
СкопированоArray
, также как и Array
, может принимать в качестве аргумента функцию-компаратор: специальную функцию, определяющую порядок сортировки. Это необязательный параметр. Если функция пропущена, элементы массива конвертируются в строки и сортируются в порядке следования символов Unicode.
Как понять
СкопированоМетод to
имеет те же аргументы и работает также, как метод sort
, но отличается тем, что возвращает новый массив, а не мутирует исходный.
Использование аргумента функции-компаратора позволяет определить порядок сортировки.
Подсказки
Скопировано💡 Если нет возможности использовать метод to
, можно воспользоваться следующим кодом:
const numbers = [43, 6, 35, 1, 9, 7, 5, 75, 16];const sortedNumbers = [...numbers].sort((a, b) => a - b);// используем spread операторconsole.log(numbers);// [43, 6, 35, 1, 9, 7, 5, 75, 16];console.log(sortedNumbers);// [1, 5, 6, 7, 9, 16, 35, 43, 75]
const numbers = [43, 6, 35, 1, 9, 7, 5, 75, 16]; const sortedNumbers = [...numbers].sort((a, b) => a - b); // используем spread оператор console.log(numbers); // [43, 6, 35, 1, 9, 7, 5, 75, 16]; console.log(sortedNumbers); // [1, 5, 6, 7, 9, 16, 35, 43, 75]