முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 6 · பாடம் 2 இன் 4பாடத்திட்டத்தில் 22/32~12 min
தொகுதி பாடங்கள் (2/4)

குறைக்க

reduce செயல்பாட்டு வரிசை முறைகளில் மிகவும் சக்தி வாய்ந்தது: இது சேகரிப்பு வழியாக செல்கிறது ஒவ்வொரு அடியிலும் புதுப்பிக்கப்படும் அக்முலேட்டரை வைத்திருத்தல். லூப் முடிந்ததும், அது திரும்பும் திரட்டி.

கையெழுத்து

JS
arr.reduce((acc, elem) => nuovoAcc, valoreIniziale);
  • acc valoreIniziale இல் தொடங்குகிறது.
  • ஒவ்வொரு உறுப்புக்கும் ஒரு புதிய acc கணக்கிடப்படுகிறது.
  • இறுதி முடிவு கடைசி acc ஆகும்.

அடிப்படை எடுத்துக்காட்டுகள்: தொகை மற்றும் தயாரிப்பு

JS
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 முதல் உறுப்பிலிருந்து தொடங்குகிறது (காலியாக இருக்கக்கூடிய அபாயம் வரிசைகள் → பிழை). எப்போதும் ஆரம்ப மதிப்பை அனுப்பவும் உங்களால் முடிந்தால்.

ஒரு பொருளை உருவாக்குதல்: எண்ணுதல்

JS
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 }

அதிகபட்சம் / நிமிடம்

JS
const nums = [3, 7, 1, 9, 4];

const max = nums.reduce((a, n) => (n > a ? n : a), -Infinity);
// 9

(நடைமுறையில் அதிகபட்சம்/நிமிடத்திற்கு முன்னுரிமை Math.max(...nums); இது ஒரு செயற்கையான உதாரணம்.)

முயற்சி செய்து பாருங்கள்

உடற்பயிற்சி#js.m6.l2.e1
முயற்சிகள்: 0ஏற்றுகிறது…

`மொத்தம்(உருப்படிகள்)` என்பதை வரையறுக்கவும்: நீங்கள் பொருள்களின் வரிசையைப் பெறுவீர்கள் {விலை, அளவு} மற்றும் மொத்த செலவினத்தை (விலை*அளவு) திரும்பப் பெறுவீர்கள். குறைக்க பயன்படுத்தவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

குறைக்க((a, it) => a + it.price * it.quantity, 0)

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

மதிப்பாய்வு பயிற்சி

உடற்பயிற்சி#js.m6.l2.e2
முயற்சிகள்: 0ஏற்றுகிறது…

`எண்ணிக்கை(வார்த்தைகள்)` என்பதை வரையறுக்கவும்: சரங்களின் வரிசையைக் கொடுத்தால், ஒவ்வொரு சரத்தையும் நிகழ்வுகளின் எண்ணிக்கைக்கு வரைபடமாக்கும் ஒரு பொருளைத் திருப்பி அனுப்பவும். பொருள் குவிப்பான் மூலம் குறைக்க பயன்படுத்தவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

acc[p] = (acc[p] ?? 0) + 1; திரும்ப ஏசி;

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்