কম্পিউটার টিউটোরিয়াল

অ্যারেতে অ্যালটারনেট গুণ-যোগ ল্যাডার - JavaScript

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

উদাহরণ

[1, 2, 3, 4, 5, 6, 7]
(1×2) + (3×4) + (5×6) + (7×1)  // শেষে একক থাকলে ১ দিয়ে গুণ
= 2 + 12 + 30 + 7 = 51

সমাধান

const alternateOperation = (arr) => {
  let sum = 0;
  
  for (let i = 0; i < arr.length; i += 2) {
    const first = arr[i];
    const second = arr[i + 1] || 1; // শেষে একক থাকলে ১
    sum += first * second;
  }
  
  return sum;
};

// Reduce + Filter
const alternateOperationFP = (arr) => {
  return arr
    .filter((_, i) => i % 2 === 0)
    .reduce((sum, val, idx) => {
      const pairVal = arr[idx * 2 + 1] || 1;
      return sum + val * pairVal;
    }, 0);
};

// Map-Reduce চেইন
const alternateOperationChain = (arr) => 
  arr
    .filter((_, i) => i % 2 === 0)
    .map((val, idx) => val * (arr[idx * 2 + 1] || 1))
    .reduce((a, b) => a + b, 0);

// টেস্ট
console.log(alternateOperation([1, 2, 3, 4, 5, 6, 7])); // 51
console.log(alternateOperation([1, 2, 4, 1, 2, 3, 4, 3])); // 24

ব্যাখ্যা

  • i += 2: জোড় ইন্ডেক্সে লাফ দিয়ে যাওয়া
  • || 1: অড দৈর্ঘ্যে শেষ উপাদান ১ দিয়ে গুণ
  • যুগল ইন্ডেক্স: idx*2+1

উৎপাদন

51
  1. জাভাস্ক্রিপ্ট Array slice() মেথড

  2. জাভাস্ক্রিপ্ট Array shift() মেথড

  3. জাভাস্ক্রিপ্ট Array reverse() মেথড

  4. জাভাস্ক্রিপ্টে অ্যারে ডিস্ট্রাকচারিং