మాడ్యూల్ పాఠాలు (2/4)
తగ్గించండి
reduce అనేది క్రియాత్మక శ్రేణి పద్ధతుల్లో అత్యంత శక్తివంతమైనది: ఇది సేకరణ ద్వారా నడుస్తుంది
అడుగడుగునా నవీకరించబడే అక్యుమ్యులేటర్ని ఉంచడం. లూప్ ముగిసినప్పుడు, అది తిరిగి వస్తుంది
సంచితం.
సంతకం
arr.reduce((acc, elem) => nuovoAcc, valoreIniziale);accvaloreInizialeకి ప్రారంభమవుతుంది.- ప్రతి మూలకం కోసం ఒక కొత్త
accగణించబడుతుంది. - తుది ఫలితం చివరి
acc.
ప్రాథమిక ఉదాహరణలు: మొత్తం మరియు ఉత్పత్తి
const numeri = [3, 1, 4, 1, 5];
const somma = numeri.reduce((a, n) => a + n, 0);
// 14
const prodotto = numeri.reduce((a, n) => a * n, 1);
// 60ప్రారంభ విలువ లేకుండా, reduce మొదటి మూలకం నుండి ప్రారంభమవుతుంది (సంభావ్యంగా ఖాళీగా ఉంటే ప్రమాదకరం
శ్రేణులు → లోపం). ఎల్లప్పుడూ ప్రారంభ విలువను పాస్ చేయండి మీకు వీలైనప్పుడు.
వస్తువును నిర్మించడం: లెక్కింపు
const parole = ['mela', 'pera', 'mela', 'kiwi', 'mela'];
const conteggio = parole.reduce((acc, p) => {
acc[p] = (acc[p] ?? 0) + 1;
return acc;
}, {});
// { mela: 3, pera: 1, kiwi: 1 }గరిష్ఠం / నిమి కనుగొనడం
const nums = [3, 7, 1, 9, 4];
const max = nums.reduce((a, n) => (n > a ? n : a), -Infinity);
// 9(ఆచరణలో గరిష్టంగా/నిమిషానికి Math.max(...nums)ని ఇష్టపడతారు; ఇది ఉపదేశ ఉదాహరణ.)
దీనిని ప్రయత్నించండి
`మొత్తం(ఐటెమ్లు)`ని నిర్వచించండి: మీరు ఆబ్జెక్ట్ల శ్రేణిని {ధర, పరిమాణం } స్వీకరిస్తారు మరియు మొత్తం ఖర్చును (ధర మొత్తం* పరిమాణం) వాపసు చేస్తారు. తగ్గించడానికి ఉపయోగించండి.
సూచనను చూపించు
తగ్గించు((a, it) => a + it.price * it.quantity, 0)
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
`కౌంట్(పదాలు)`ని నిర్వచించండి: స్ట్రింగ్ల శ్రేణిని అందించి, ప్రతి స్ట్రింగ్ను సంఘటనల సంఖ్యకు మ్యాప్ చేసే వస్తువును తిరిగి ఇవ్వండి. ఆబ్జెక్ట్ అక్యుమ్యులేటర్తో తగ్గించడాన్ని ఉపయోగించండి.
సూచనను చూపించు
acc[p] = (acc[p] ?? 0) + 1; రిటర్న్ acc;
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది