Źródło: Arkusze CKE
Jaka będzie zawartość zmiennej filteredItems po wykonaniu poniższego kodu?
const items = [
{ id: 1, name: 'phone', price: 500 },
{ id: 2, name: 'laptop', price: 1000 },
{ id: 3, name: 'tablet', price: 750 }
];
const filteredItems = items.filter(item => item.price > 600)
.map(item => item.name);
Warianty odpowiedzi
-
A
[{id: 2, name: 'laptop', price: 1000}, {id: 3, name: 'tablet', price: 750}]
-
B
['laptop', 'tablet', 'phone']
-
C
['phone']
-
D
['laptop', 'tablet']
Wyjaśnienie
Kod wykonuje dwie sekwencyjne operacje na tablicy.
Najpierw metoda filter odsiewa obiekty i zostawia tylko te, których cena jest większa niż 600. Z początkowych trzech elementów warunek ten spełniają laptop (1000) oraz tablet (750).
Następnie na przefiltrowanej tablicy wywoływana jest metoda map. Jej zadaniem jest wyciągnięcie wyłącznie wartości pola name z każdego obiektu.
W rezultacie otrzymujemy tablicę zawierającą same nazwy: ['laptop', 'tablet'].