Array Methods: map(), filter(), এবং reduce() এর কার্যকারিতা

Map, Filter, Reduce এবং Chaining - জাভাস্ক্রিপ্ট ইএস৬ (ES6) - Web Development

322

map(), filter(), এবং reduce() ES6 এর অংশ হিসেবে নতুন Array মেথডস, যা অ্যারে ডেটা পরিচালনা এবং পরিবর্তন করার জন্য অত্যন্ত শক্তিশালী ও ব্যবহারবান্ধব ফাংশন। এই মেথডগুলো অ্যারের প্রতিটি উপাদানের উপর নির্দিষ্ট একটি ফাংশন প্রয়োগ করে নতুন অ্যারে তৈরি করে, যা জাভাস্ক্রিপ্টের ফাংশনাল প্রোগ্রামিং এর ধারণাকে সহজ করে তোলে।


1. map()

map() মেথড একটি নতুন অ্যারে তৈরি করে যেখানে অ্যারের প্রতিটি উপাদানকে একটি নির্দিষ্ট ফাংশন প্রয়োগ করা হয়। এটি মূল অ্যারের কোন উপাদান পরিবর্তন করে না, বরং একটি নতুন অ্যারে তৈরি করে এবং সেই অ্যারেতে পরিবর্তিত মান গুলি রাখে।

Sintax:

const newArray = arr.map(callback(currentValue, index, array));
  • currentValue: বর্তমান উপাদান।
  • index: উপাদানটির ইনডেক্স (অপশনাল)।
  • array: মূল অ্যারে (অপশনাল)।

map() উদাহরণ

const numbers = [1, 2, 3, 4];
const doubledNumbers = numbers.map(num => num * 2);

console.log(doubledNumbers);  // [2, 4, 6, 8]

এখানে, map() মেথডটি অ্যারের প্রতিটি উপাদানের উপর num * 2 অপারেশন প্রয়োগ করছে এবং নতুন একটি অ্যারে তৈরি করছে যার মানগুলো হলো: [2, 4, 6, 8]


2. filter()

filter() মেথড একটি নতুন অ্যারে তৈরি করে যেখানে একটি নির্দিষ্ট শর্তে উপাদানগুলো ফিল্টার করা হয়। এটি অ্যারের প্রত্যেকটি উপাদানের জন্য একটি কন্ডিশন চেক করে, এবং যদি শর্তটি সঠিক হয়, তবে সেই উপাদান নতুন অ্যারেতে যোগ করা হয়।

Sintax:

const newArray = arr.filter(callback(currentValue, index, array));
  • currentValue: বর্তমান উপাদান।
  • index: উপাদানটির ইনডেক্স (অপশনাল)।
  • array: মূল অ্যারে (অপশনাল)।

filter() উদাহরণ

const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(num => num % 2 === 0);

console.log(evenNumbers);  // [2, 4, 6]

এখানে, filter() মেথডটি শুধুমাত্র সেসব উপাদানকে নতুন অ্যারেতে রাখছে যেগুলি even (যুগল সংখ্যা)।


3. reduce()

reduce() মেথডটি অ্যারের সব উপাদান একত্র করে একটি একক মান তৈরি করে। এটি একটি অ্যারে থেকে একক ফলাফল অর্জন করতে ব্যবহৃত হয়, যেমন অ্যারের উপাদানগুলির যোগফল, গুণফল, অথবা অন্যান্য কোন একক মান।

Sintax:

const result = arr.reduce(callback(accumulator, currentValue, index, array), initialValue);
  • accumulator: এটি পূর্বের ইটারেশনের ফলাফল বা অ্যাকিউমুলেটেড মান।
  • currentValue: বর্তমান উপাদান।
  • index: উপাদানটির ইনডেক্স (অপশনাল)।
  • array: মূল অ্যারে (অপশনাল)।
  • initialValue: প্রথম মান (অপশনাল, যদি প্রদান না করা হয়, তবে প্রথম উপাদানটি ব্যবহার করা হয়)।

reduce() উদাহরণ

const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((acc, num) => acc + num, 0);

console.log(sum);  // 10

এখানে, reduce() মেথডটি অ্যারের সব উপাদানের যোগফল বের করছে। এখানে acc হচ্ছে অ্যাকিউমুলেটর, যা প্রথমে 0 দিয়ে শুরু হয় এবং পরবর্তী মানের সাথে যোগ হতে থাকে।


4. Chaining (চেইনিং)

map(), filter(), এবং reduce() মেথডগুলো চেইনিং (একাধিক মেথড একসাথে ব্যবহার) করতে পারে, অর্থাৎ একটির ফলাফল আরেকটির ইনপুট হিসেবে ব্যবহার করা যায়। এটি অনেক সময় কোডকে সংক্ষিপ্ত এবং পরিষ্কার করে।

Chaining উদাহরণ

const numbers = [1, 2, 3, 4, 5, 6];

const result = numbers
  .map(num => num * 2)               // [2, 4, 6, 8, 10, 12]
  .filter(num => num > 10)           // [12]
  .reduce((acc, num) => acc + num, 0);  // 12

console.log(result);  // 12

এখানে, map() দিয়ে প্রথমে সংখ্যাগুলিকে দ্বিগুণ করা হয়েছে, তারপর filter() দিয়ে ১০ এর বেশি সংখ্যাগুলিকে ফিল্টার করা হয়েছে এবং শেষে reduce() দিয়ে যোগফল বের করা হয়েছে।


সারাংশ

  • map(): অ্যারের প্রতিটি উপাদানের উপর একটি ফাংশন প্রয়োগ করে এবং নতুন অ্যারে তৈরি করে।
  • filter(): অ্যারের উপাদানগুলোর মধ্যে একটি শর্ত অনুসারে মান বাছাই করে নতুন অ্যারে তৈরি করে।
  • reduce(): অ্যারের সমস্ত উপাদান একত্র করে একটি একক মান তৈরি করে।
  • এই তিনটি মেথডই functional programming কনসেপ্টের অন্তর্গত এবং একে অপরের সাথে চেইনিং করে শক্তিশালী এবং উন্নত ফাংশনালিটি প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...