consdata.com
Blog techniczny Blog biznesowy Dział HR
EN
javascript

Czy wiesz, że już nie musisz klonować tablic, by wykonać na nich typowe operacje?

author Mariusz Bartosik
13 września 2024

Metody toReversed(), toSplice(), toSorted() oraz with() stanowią grupę metod operujących na tablicach. Rozszerzają tradycyjne operacje, pozwalając na uzyskanie zmodyfikowanych kopii tablic, na których zostały wywołane. W przeciwieństwie do tradycyjnych metod takich jak sort(), splice() czy reverse(), metody te nie modyfikują tablic, na których zostały wywołane.

toReversed()

Metoda toReversed() odpowiada reverse(). Zwraca nową tablicę z elementami w odwrotnej kolejności.

const a = [3, 1, 5, 6];
const b = Array.from(a).reverse();  // b: [6, 5, 1, 3]
const c = a.toReversed();           // c: [6, 5, 1, 3]

toSorted()

Metoda toSorted() odpowiada sort(). Zwraca nową posortowaną tablicę.

const a = [3, 1, 5, 6];
const b = Array.from(a).sort();     // b: [1, 3, 5, 6]
const c = a.toSorted();             // c: [1, 3, 5, 6]

toSpliced()

Metoda toSpliced() odpowiada splice(). Zwraca nową tablicę z usuniętymi, zmienionymi lub nowymi elementami.

const a = [3, 1, 5, 6];
const b = Array.from(a);
b.splice(1, 1);                     // b: [3, 5, 6]
const c = a.toSpliced(1, 1);        // c: [3, 5, 6]

with()

Metoda with() odpowiada notacji [<index>]. Zwraca nową tablicę ze zmienionym elementem pod wskazanym indeksem.

const a = [3, 1, 5, 6];
const b = Array.from(a);
b[2] = 9;                           // b: [1, 3, 9, 6]
const c = a.with(2, 9);             // c: [1, 3, 9, 6]

Przydatne linki

  • Wykonywalny przykład: https://playcode.io/1833099
  • Kompatybilność z przeglądarkami: Array.toReversed, Array.toSorted, Array.toSpliced, Array.with
  • Dokumentacja: Array.toReversed, Array.toSorted, Array.toSpliced, Array.with
Najnowsze wpisy

  • Dostępność w PDF - dokumenty bez barier
  • Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?
  • Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

newsletter

techniczny

Zapisz się

Podobne wpisy

post-image
WCAG

Dostępność w PDF - dokumenty bez barier

author
Kacper Hoffman 28 kwi 2025
post-image
angular

Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?

author
Piotr Tatarski 7 kwi 2025
post-image
angular

Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?

author
Dorian Mejer 10 mar 2025
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

Zapisz się na

newsletter

techniczny

consdata.com
  • Kontakt

    • sales@consdata.com
    • +48 61 41 51 000

  • Biuro

    • K9Office
      Krysiewicza 9/14
      61-825 Poznań
      Polska

  • Rozwiązania

    • Eximee
    • Kouncil
  • Blog Dołącz do nas
Copyright © 2024 Consdata. All rights reserved. Privacy Policy & Cookies
Chcemy używać plików cookie oraz skryptów podmiotów trzecich do polepszania funkcjonowania tej strony Zgadzam się