Jaki będzie wynik wykonania poniższego kodu JavaScript?
Jaki będzie wynik wykonania poniższego kodu JavaScript?
const arr = [1, 2, 3, 4, 5];
const result = arr.filter(x => x % 2 === 0)
.map(x => x * 2);
console.log(result);Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: B ([4, 8])
Przeanalizujmy działanie łańcucha metod tablicowych w JavaScript:
arr.filter(x => x % 2 === 0)wybiera z tablicy[1, 2, 3, 4, 5]wyłącznie liczby parzyste (dające resztę 0 z dzielenia przez 2), co daje nową tablicę[2, 4]..map(x => x * 2)przekształca każdy element tablicy przefiltrowanej, mnożąc go przez 2: 2 \times 2 = 4 oraz 4 \times 2 = 8, tworząc tablicę wynikową[4, 8].
Dlaczego pozostałe opcje są nieprawidłowe?
- A: Tablica
[2, 4, 6, 8, 10]byłaby wynikiem samegomap(), bez uprzedniego odfiltrowania liczb nieparzystych. - C: Tablica
[2, 4]to wynik po samym etapiefilter(), przed wykonaniem mnożenia wmap(). - D: Tablica
[1, 3, 5]zawiera liczby nieparzyste, które zostały odrzucone przez warunekx % 2 === 0.
Chcesz poćwiczyć całą kwalifikację INF.03?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Metody tablicowe w JS (push, pop, map, filter, forEach, splice)Funkcje wbudowane w prototyp tablic służące do mutowania zawartości, transformacji, filtrowania i iteracji po elementach.
- Obiekt Math w JavaScript (floor, ceil, round, random)Wbudowany obiekt statyczny zawierający właściwości matematyczne oraz metody do zaokrągleń, losowania i operacji arytmetycznych.
- Sortowanie ORDER BY i ograniczanie wyników LIMITKlauzule służące do sortowania rekordów rosnąco (ASC) lub malejąco (DESC) oraz ograniczania liczby zwracanych wierszy (stronicowanie).
Podobne pytania z działu „Js funkcje i struktury danych”
Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 42 pytań z tego działu.
- #114
Obiekt typu array w języku Javascript służy do przechowywania
- #279
W JavaScript wynik operacji jest równy wartości NaN, jeśli skrypt próbował wykonać
- #282
Zapis w języku JavaScript ma za zadanie
- #322
Przedstawiony kod został zapisany w języku JavaScript. W podanej definicji obiektu metodą jest element o nazwie
- #364
W języku JavaScript zapis w ramce oznacza, że