मुख्य सामग्री पर जाएं
मॉड्यूल 6 · पाठ 1 का 4पाठ्यक्रम में 21/32~10 min
मॉड्यूल पाठ (1/4)

मानचित्र और फ़िल्टर

दो आवश्यक विधियाँ: वे मूल को परिवर्तित किए बिना, एक सरणी को नई सरणी में बदल देती हैं।

map: प्रत्येक तत्व को रूपांतरित करें

यह एक फ़ंक्शन लेता है, इसे प्रत्येक तत्व पर लागू करता है, और समान लंबाई की एक सरणी लौटाता है परिणामों के साथ.

JS
const numeri = [1, 2, 3, 4];

const doppi = numeri.map((n) => n * 2);
// [2, 4, 6, 8]

const stringhe = numeri.map((n) => `n=${n}`);
// ['n=1', 'n=2', 'n=3', 'n=4']

मूल अछूता रहता है:

JS
numeri; // [1, 2, 3, 4]  ← unchanged

filter: एक उपसमूह चुनें

यह एक predicate (एक फ़ंक्शन जो सही/गलत रिटर्न देता है) लेता है। यह केवल उन तत्वों को रखता है जिनके लिए विधेय सत्य है.

JS
const numeri = [1, 2, 3, 4, 5, 6];

const pari = numeri.filter((n) => n % 2 === 0);
// [2, 4, 6]

const grandi = numeri.filter((n) => n > 3);
// [4, 5, 6]

दोनों को मिलाना

क्लासिक पाइपलाइन: फ़िल्टर करें, फिर रूपांतरित करें।

JS
const prezzi = [12, 5, 100, 30, 7];

const grandiDoppi = prezzi.filter((p) => p > 10).map((p) => p * 2);
// [24, 200, 60]

इसे अजमाएं

व्यायाम#js.m6.l1.e1
प्रयास: 0लोड हो रहा है...

`वैट (कीमतें, दर)` को परिभाषित करें: संख्याओं की एक श्रृंखला और एक दर (जैसे 0.22) दी गई है, वैट द्वारा बढ़ी हुई कीमतों के साथ एक सरणी लौटाएं। मानचित्र का प्रयोग करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

कीमतें.मानचित्र((पी) => पी * (1 + दर))

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#js.m6.l1.e2
प्रयास: 0लोड हो रहा है...

`वयस्क नाम (लोग)` को परिभाषित करें: आपको वस्तुओं की एक सरणी {नाम, आयु } प्राप्त होती है और >=18 आयु वाले लोगों के नामों की सरणी लौटाते हैं। फ़िल्टर + मानचित्र का उपयोग करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

श्रृंखला: .फ़िल्टर(...).नक्शा((पी) => पी.नाम)

3 प्रयासों के बाद समाधान उपलब्ध है