ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 6 · 4లో పాఠం 1కోర్సులో 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: ఉపసమితిని ఎంచుకోండి

దీనికి ప్రిడికేట్ (నిజం/తప్పుని అందించే ఫంక్షన్) పడుతుంది. ఇది దాని కోసం అంశాలను మాత్రమే ఉంచుతుంది అంచనా నిజం.

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), VAT ద్వారా పెరిగిన ధరలతో కూడిన శ్రేణిని అందించండి. మ్యాప్ ఉపయోగించండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

price.map((p) => p * (1 + రేటు))

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#js.m6.l1.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

`పెద్దల పేర్లు(వ్యక్తులు)`ని నిర్వచించండి: మీరు ఆబ్జెక్ట్‌ల శ్రేణిని {పేరు, వయస్సు} స్వీకరిస్తారు మరియు వయస్సు >= 18 ఉన్న వ్యక్తుల పేర్ల శ్రేణిని తిరిగి ఇవ్వండి. ఫిల్టర్ + మ్యాప్‌ని ఉపయోగించండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

చైన్: .ఫిల్టర్(...).మ్యాప్((p) => p.name)

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది