தொகுதி பாடங்கள் (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; திரும்ப ஏசி;
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்