কম্পিউটার

জাভাস্ক্রিপ্টে অনুরূপ কী সহ অ্যারের মান থেকে যোগফল


ধরা যাক, এখানে একটি অ্যারে রয়েছে যা নির্দিষ্ট সময়ের মধ্যে কোনো কোম্পানির দ্বারা বিক্রি এবং কেনা স্টক সম্পর্কে কিছু ডেটা রয়েছে৷

const transactions = [
   ['AAPL', 'buy', 100],
   ['WMT', 'sell', 75],
   ['MCD', 'buy', 125],
   ['GOOG', 'sell', 10],
   ['AAPL', 'buy', 100],
   ['AAPL', 'sell', 100],
   ['AAPL', 'sell', 20],
   ['DIS', 'buy', 15],
   ['MCD', 'buy', 10],
   ['WMT', 'buy', 50],
   ['MCD', 'sell', 90]
];

আমরা একটি ফাংশন লিখতে চাই যা এই ডেটা গ্রহণ করে এবং মূল অ্যাস্টক নাম (যেমন 'AAPL', 'MCD') এবং দুটি সংখ্যার অ্যারে হিসাবে মান সহ অ্যারের একটি বস্তু ফেরত দেয়, যেখানে প্রথম উপাদানটি মোট কেনার প্রতিনিধিত্ব করে এবং দ্বিতীয় উপাদানটি উপস্থাপন করে মোট বিক্রি। অতএব, এটি করার জন্য কোডটি হবে −

উদাহরণ

const transactions = [
   ['AAPL', 'buy', 100],
   ['WMT', 'sell', 75],
   ['MCD', 'buy', 125],
   ['GOOG', 'sell', 10],
   ['AAPL', 'buy', 100],
   ['AAPL', 'sell', 100],
   ['AAPL', 'sell', 20],
   ['DIS', 'buy', 15],
   ['MCD', 'buy', 10],
   ['WMT', 'buy', 50],
   ['MCD', 'sell', 90]
];
const digestTransactions = (arr) => {
   return arr.reduce((acc, val, ind) => {
      const [stock, type, amount] = val;
      if(acc[stock]){
         const [buy, sell] = acc[stock];
         if(type === 'buy'){
            acc[stock] = [buy+amount, sell];
         }else{
            acc[stock] = [buy, sell+amount];
         }
         }else{
            if(type === 'buy'){
               acc[stock] = [amount, 0];
            }else{
               acc[stock] = [0, amount];
         }
      }
      return acc;
   }, {});
};
console.log(digestTransactions(transactions));

আউটপুট

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

{
   AAPL: [ 200, 120 ],
   WMT: [ 50, 75 ],
   MCD: [ 135, 90 ],
   GOOG: [ 0, 10 ],
   DIS: [ 15, 0 ]
}

  1. কিভাবে জাভাস্ক্রিপ্ট একটি অ্যারে থেকে মিথ্যা মান অপসারণ?

  2. JavaScript array.values()

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

  4. একটি অ্যারে জাভাস্ক্রিপ্টে অবজেক্ট থেকে কী এবং মান পুনরুদ্ধার করুন