কম্পিউটার

জাভাস্ক্রিপ্টে নেস্টেড অ্যারের ওজনের যোগফল


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি নেস্টেড অ্যারে, অ্যাআর (যেকোনো লেভেল পর্যন্ত নেস্ট করা) একমাত্র আর্গুমেন্ট হিসেবে নেয়।

ফাংশনটি নেস্টেড অ্যারের ওজনযুক্ত যোগফল গণনা করবে এবং সেই যোগফলটি ফেরত দেবে।

নেস্টেড যোগফল গণনা করার জন্য, আমরা একটি নির্দিষ্ট উপাদানকে এর নেস্টিং স্তরের সাথে গুণ করি এবং অ্যারে জুড়ে যোগ করি।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

const arr = [4, 7, [6, 1, [5, 2]]];

তারপর আউটপুট −

হওয়া উচিত
const output = 46;

আউটপুট ব্যাখ্যা:

যোগফল এভাবে গণনা করা হবে −

(4 * 1) + ( 7 * 1) + (6 * 2) + (1 * 2) + (5 * 3) + (2 * 3) = 46

উদাহরণ

এর জন্য কোড হবে −

const arr = [4, 7, [6, 1, [5, 2]]];
const findWeightedSum = (arr = [], level = 1, res = 0) => {
   for(let i = 0; i < arr.length; i++){
      if(typeof arr[i] === 'number'){
         res += (level * arr[i]);
      }else if(Array.isArray(arr[i])){
         return findWeightedSum(arr[i], level + 1, res);
      };
   };
   return res;
};
console.log(findWeightedSum(arr));

আউটপুট

এবং কনসোলে আউটপুট হবে −

46

  1. জাভাস্ক্রিপ্ট ব্যবহার করে অ্যারেতে নেস্টেড অবজেক্টের মানের সমষ্টি

  2. জাভাস্ক্রিপ্টে নেস্টেড অ্যারেতে যোগ দিন

  3. জাভাস্ক্রিপ্টে নেস্টেড অ্যারে গ্রুপ করা

  4. অ্যারে জাভাস্ক্রিপ্টের অ্যারেতে আংশিক যোগফল