ম্যাপ মেথড

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

মেথডটি প্যারামিটার হিসেবে একটি ফাংশন গ্রহণ করে, যা অ্যারের প্রতিটি উপাদানের জন্য এক্সিকিউট হবে। এই ফাংশনটি return এর মাধ্যমে যা রিটার্ন করবে তা-ই হবে অ্যারের সেই উপাদানটির নতুন মান (উদাহরণ দেখুন)।

ফাংশনে 3টি প্যারামিটার পাঠানো যেতে পারে। যদি এই প্যারামিটারগুলি উপস্থিত থাকে (এগুলি বাধ্যতামূলক নয়), তবে প্রথমটিতে স্বয়ংক্রিয়ভাবে অ্যারের উপাদানটি প্রবেশ করবে, দ্বিতীয়টিতে তার অ্যারেতে অবস্থান (ইন্ডেক্স) প্রবেশ করবে, এবং তৃতীয়টিতে - অ্যারেটি নিজেই প্রবেশ করবে।

সিনট্যাক্স

javascriptlet নতুন_অ্যারে = অ্যারে.map(function(উপাদান, ইন্ডেক্স, অ্যারে) {
  কোড
  return পরিবর্তিত_উপাদান;
});

উদাহরণ

একটি অ্যারে তৈরি করা যাক, যার প্রতিটি উপাদান প্রারম্ভিক অ্যারের সংশ্লিষ্ট উপাদানের থেকে দ্বিগুণ বড়:

javascriptlet arr = [1, 2, 3, 4, 5];

let res = arr.map(function(elem) {
  return elem * 2;
});

console.log(res);

কোড এক্সিকিউট করার ফলাফল:

javascript[2, 4, 6, 8, 10]

উদাহরণ

একটি অ্যারে তৈরি করা যাক, যার প্রতিটি উপাদান এইভাবে পাওয়া যায় - উপাদানের মানকে তার অ্যারেতে ক্রমিক সংখ্যা (ইন্ডেক্স) দিয়ে গুণ করা হয়:

javascriptlet arr = [1, 2, 3, 4, 5];

let res = arr.map(function(elem, index) {
  return elem * index;
});

console.log(res);

কোড এক্সিকিউট করার ফলাফল:

javascript[0, 2, 6, 12, 20]

উদাহরণ

প্রয়োজন হলে তৃতীয় প্যারামিটারে অ্যারেটি নিজেই পাঠানো যেতে পারে:

javascriptlet arr = [1, 2, 3, 4, 5];

let res = arr.map(function(elem, index, arr) {
  // এখানে arr অ্যারে অ্যাক্সেসযোগ্য হবে
});

উদাহরণ

map মেথডটি মাল্টিডাইমেনশনাল অ্যারে ট্রাভার্স করতেও ব্যবহার করা যেতে পারে। ধরা যাক, উদাহরণস্বরূপ, নিম্নলিখিত অ্যারেটি দেওয়া আছে:

javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

আসুন এই অ্যারেটি map এর মাধ্যমে ট্রাভার্স করি এবং এর উপাদানগুলি কনসোলে প্রিন্ট করি:

javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

let result = arr.map(function(elem) {
  console.log(elem);
});

ফলস্বরূপ console.log প্রথমে [1, 2, 3], তারপর [4, 5, 6], এবং তারপর [7, 8, 9] প্রিন্ট করবে।

আপনি দেখতে পাচ্ছেন, elem ভেরিয়েবলে সাব-অ্যারে গুলি প্রবেশ করছে। আসুন এখন প্রতিটি সাব-অ্যারেতে map মেথড প্রয়োগ করি এবং এর প্রতিটি উপাদানকে বর্গ করি:

javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

let result = arr.map(function(elem) {
  return elem.map(function(num) {
    return num * num;
  });
});

console.log(result);

আরও দেখুন

  • forEach মেথড,
    যা অ্যারের প্রতিটি উপাদানের জন্য ফাংশন প্রয়োগ করে
  • filter মেথড,
    যা অ্যারের উপাদানগুলি ফিল্টার করতে দেয়
  • some এবং every মেথড,
    যা অ্যারে চেক করার কাজ করে
  • reduce এবং reduceRight মেথড,
    যা অ্যারেকে একটি মানে রিডিউস করে