ম্যাপ মেথড
map মেথডটি অ্যারের প্রতিটি উপাদানের জন্য একটি নির্দিষ্ট
ফাংশন প্রয়োগ করতে দেয়। এটা করার সময়, মেথডটি মূল অ্যারেটিকে পরিবর্তন করে না, বরং
পরিবর্তিত অ্যারেটিকে রিটার্ন করে।
মেথডটি প্যারামিটার হিসেবে একটি ফাংশন গ্রহণ করে, যা
অ্যারের প্রতিটি উপাদানের জন্য এক্সিকিউট হবে।
এই ফাংশনটি return এর মাধ্যমে যা রিটার্ন করবে
তা-ই হবে অ্যারের সেই উপাদানটির নতুন মান (উদাহরণ দেখুন)।
ফাংশনে 3টি প্যারামিটার পাঠানো যেতে পারে।
যদি এই প্যারামিটারগুলি উপস্থিত থাকে (এগুলি বাধ্যতামূলক নয়),
তবে প্রথমটিতে স্বয়ংক্রিয়ভাবে অ্যারের উপাদানটি
প্রবেশ করবে, দ্বিতীয়টিতে তার অ্যারেতে অবস্থান (ইন্ডেক্স) প্রবেশ করবে,
এবং তৃতীয়টিতে - অ্যারেটি নিজেই প্রবেশ করবে।
সিনট্যাক্স
let নতুন_অ্যারে = অ্যারে.map(function(উপাদান, ইন্ডেক্স, অ্যারে) {
কোড
return পরিবর্তিত_উপাদান;
});
উদাহরণ
একটি অ্যারে তৈরি করা যাক, যার প্রতিটি উপাদান প্রারম্ভিক অ্যারের সংশ্লিষ্ট উপাদানের থেকে দ্বিগুণ বড়:
let arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem) {
return elem * 2;
});
console.log(res);
কোড এক্সিকিউট করার ফলাফল:
[2, 4, 6, 8, 10]
উদাহরণ
একটি অ্যারে তৈরি করা যাক, যার প্রতিটি উপাদান এইভাবে পাওয়া যায় - উপাদানের মানকে তার অ্যারেতে ক্রমিক সংখ্যা (ইন্ডেক্স) দিয়ে গুণ করা হয়:
let arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem, index) {
return elem * index;
});
console.log(res);
কোড এক্সিকিউট করার ফলাফল:
[0, 2, 6, 12, 20]
উদাহরণ
প্রয়োজন হলে তৃতীয় প্যারামিটারে অ্যারেটি নিজেই পাঠানো যেতে পারে:
let arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem, index, arr) {
// এখানে arr অ্যারে অ্যাক্সেসযোগ্য হবে
});
উদাহরণ
map মেথডটি মাল্টিডাইমেনশনাল অ্যারে ট্রাভার্স করতেও
ব্যবহার করা যেতে পারে। ধরা যাক, উদাহরণস্বরূপ,
নিম্নলিখিত অ্যারেটি দেওয়া আছে:
let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
আসুন এই অ্যারেটি map এর মাধ্যমে ট্রাভার্স করি
এবং এর উপাদানগুলি কনসোলে প্রিন্ট করি:
let 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 মেথড প্রয়োগ করি এবং
এর প্রতিটি উপাদানকে বর্গ করি:
let 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);