KWALIFIKACJA INF3 - CZERWIEC 2021

PYTANIE NR 7.
W języku JavaScript, aby wydzielić fragment napisu znajdujący się pomiędzy wskazanymi przez parametr indeksami należy użyć metody
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
slice() służy do wycięcia (wydzielenia) fragmentu łańcucha znaków na podstawie podanych indeksów początku i końca. Pozostałe metody mają inne przeznaczenie: trim() usuwa białe znaki z brzegów, concat() łączy napisy, a replace() dokonuje zamiany dopasowanego fragmentu.

Pełne wyjaśnienie:

W JavaScript do wydzielenia fragmentu napisu na podstawie granic określonych indeksami stosuje się metodę slice() dla łańcuchów znaków. Jej sens jest "wyciąć wycinek" z istniejącego napisu: podajesz indeks początku, a opcjonalnie indeks końca (zwykle jako granicę nie włączaną do wyniku). Wynikiem jest nowy napis, a oryginał pozostaje bez zmian, co jest typowe dla operacji na łańcuchach (niemutowalność).

Dlaczego pozostałe odpowiedzi nie pasują do opisu "fragment pomiędzy indeksami"?

  • trim() działa na białych znakach (spacje, tabulatory, znaki nowej linii) i usuwa je z początku oraz końca napisu. Nie wybiera podciągu pomiędzy dowolnymi indeksami, tylko "czyści" brzegi.
  • concat() służy do łączenia (konkatenacji) napisów. To operacja budowania dłuższego ciągu z kilku części, a nie wycinania środka na podstawie indeksów.
  • replace() służy do zastępowania fragmentu napisu innym fragmentem (na podstawie dopasowania tekstu lub wyrażenia regularnego). Kryterium jest dopasowanie wzorca, a nie wskazanie zakresu indeksów, więc to inny mechanizm.

Wskazówka egzaminacyjna: gdy w treści pojawiają się słowa "indeks", "zakres", "pomiędzy pozycjami", zwykle chodzi o metody operujące na pozycjach w łańcuchu (np. slice/substring), a gdy pojawia się "zamiana" lub "wzorzec", częściej pasują metody typu replace.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Metoda slice() zwraca nowy fragment (podciąg) łańcucha znaków, wycięty na podstawie podanych indeksów początku i końca. Jest używana, gdy chcesz pobrać część napisu "z pozycji na pozycję", bez modyfikowania oryginalnej wartości.
slice(start, end) przyjmuje indeks początku start oraz opcjonalny indeks końca end. W praktyce end wyznacza granicę, do której wycinasz (zwykle bez włączania znaku na pozycji end), co ułatwia pracę na zakresach.
trim() usuwa białe znaki tylko z początku i końca napisu. Nie pozwala wskazać dowolnych indeksów, więc nie nadaje się do wydzielania środka łańcucha. To typowa metoda do "czyszczenia" danych wejściowych z formularzy.
slice() wybiera fragment na podstawie indeksów (pozycji znaków). replace() wyszukuje fragment do zamiany na podstawie dopasowania tekstu lub wyrażenia regularnego. Jeśli w zadaniu kluczowe są indeksy, częściej pasuje slice niż replace.
concat() stosuje się, gdy chcesz połączyć napisy w jeden dłuższy łańcuch (np. skleić imię i nazwisko). slice() jest odwrotnego typu operacją: pobiera tylko część istniejącego napisu. Na egzaminie zwracaj uwagę na czasowniki "połączyć" vs "wydzielić".
Nie. W JavaScript łańcuchy znaków są niemutowalne, więc slice() tworzy i zwraca nowy napis, a oryginalna zmienna pozostaje bez zmian. To ważne w zadaniach, gdzie później nadal używasz pełnej wersji tekstu.
W praktyce ujemne indeksy w slice() pozwalają odliczać pozycje od końca napisu (np. końcówka, sufiks). To przydatne, gdy nie znasz długości łańcucha, a chcesz pobrać ostatnie znaki. Na egzaminie często pojawia się to w zadaniach z kodami i rozszerzeniami.
Najczęstsze pomyłki to: ignorowanie słowa "indeks" i wybór metody do zamiany (replace()), mylenie czyszczenia białych znaków (trim()) z wycinaniem, oraz wybór metody do łączenia tekstu (concat()). Pomaga wypisanie, czy zadanie mówi o pozycjach, czy o dopasowaniu.
Sygnałem są sformułowania: "pomiędzy indeksami", "zakres od… do…", "fragment napisu od pozycji…". To wskazuje na operację opartą o pozycje znaków. Gdy w treści pojawia się "usuń spacje na początku i końcu", wtedy pasuje trim(), a nie slice.
Warto zrobić listę najczęstszych metod i dopasować je do intencji: wycinanie (slice), czyszczenie brzegów (trim), łączenie (concat), zamiana (replace). Potem przećwicz krótkie zadania: dla każdego opisu wybierz metodę i przewidź wynik. To buduje szybkie skojarzenia na teście.
info

Statystycznie 75% uczniów zna prawidłową odpowiedź. średnio łatwe

Specjaliści zwracają uwagę: "slice() służy do wycięcia (wydzielenia) fragmentu łańcucha znaków na podstawie podanych indeksów początku i końca."

Źródła:

  • MDN Web Docs: "String.prototype.slice()" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice (dostęp: 2026-03-04)
  • MDN Web Docs: "String.prototype.trim()" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim (dostęp: 2026-03-04)
  • MDN Web Docs: "String.prototype.concat()" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat (dostęp: 2026-03-04)

Materiały:

  • Dokumentacja MDN dotycząca metod String w JavaScript
  • Ćwiczenia praktyczne: operacje na łańcuchach znaków (zadania z indeksami i podciągami)
  • Porównanie metod slice(), substring() i (historycznie) substr() w notatkach do nauki

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego