মডিউল পাঠ (2/4)
হ্রাস করা
reduce কার্যকরী অ্যারে পদ্ধতিগুলির মধ্যে সবচেয়ে শক্তিশালী: এটি সংগ্রহের মধ্য দিয়ে চলে
একটি সঞ্চয়কারী রাখা যা প্রতিটি ধাপে আপডেট করা হয়। লুপ শেষ হলে, এটি ফেরত দেয়
সঞ্চয়কারী
স্বাক্ষর
arr.reduce((acc, elem) => nuovoAcc, valoreIniziale);accশুরু হয়valoreInizialeএ।- প্রতিটি উপাদানের জন্য একটি নতুন
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 প্রচেষ্টার পরে উপলব্ধ