JavaScriptTablice
Array. prototype. toSorted()
Zwraca posortowaną kopię tablicy, nie zmieniając oryginału.
- Zwraca
- Nową, posortowaną tablicę.
- Zmienia oryginał
- Nie
Przykład
#JavaScript
const prices = [79, 49, 59]
const sorted = prices.toSorted((a, b) => a - b)
console.log(sorted)
console.log(prices)Konsola
[49, 59, 79]
[79, 49, 59]
Definicja i zastosowanie
#Metoda toSorted() działa jak sort(), ale zamiast sortować tablicę w miejscu, zwraca nową, posortowaną tablicę. Oryginał zostaje taki sam.
To wygodne w kodzie, który unika mutacji, na przykład w stanie komponentów React, gdzie zmiana oryginalnej tablicy potrafi spowodować trudne do wykrycia błędy.
Należy do rodziny metod „kopiujących”, razem z toReversed(), toSpliced() i with(). Funkcję porównującą podajesz tak samo jak w sort().
Składnia
#Składnia
array.toSorted()
array.toSorted(compareFn)Parametry
#compareFn
function (a, b)
Funkcja porównująca, jak wsort().
Więcej przykładów
#JavaScript
const steps = ['a', 'b', 'c']
console.log(steps.toReversed())
console.log(steps.with(1, 'B'))
console.log(steps.toSpliced(0, 1))
console.log(steps)Konsola
['c', 'b', 'a']
['a', 'B', 'c']
['b', 'c']
['a', 'b', 'c']
Obsługa przeglądarek
#Szeroko dostępne · od 2023 roku
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- W stanie aplikacji preferuj
toSorted()zamiastsort(). Unikniesz przypadkowej mutacji danych. - W starszym kodzie ten sam efekt daje
[...array].sort(...).
Powiązane hasła
#Widzisz błąd albo brakuje przykładu? Napisz do nas.