JavaScript-এ `map()` মেথড ব্যবহার করে অবজেক্টের অ্যারে (JSON ডেটা) থেকে নির্দিষ্ট প্রপার্টির ভ্যালুগুলো বের করে নতুন অ্যারে তৈরি করা যায়।
ডেটা
const students = [
{ name: "John" },
{ name: "David" },
{ name: "Bob" }
];
Map ব্যবহার
const names = students.map(({ name: value }) => value);
// অথবা সহজে:
const names2 = students.map(student => student.name);
console.log(names); // ['John', 'David', 'Bob']
চলানোর পদ্ধতি
- কোডটি
jsonToArray.jsনামে সংরক্ষণ করুন। - টার্মিনালে চালান:
node jsonToArray.js
আউটপুট
[ 'John', 'David', 'Bob' ]
ডি-স্ট্রাকচারিং ব্যাখ্যা
// { name: value } → প্রপার্টি 'name' কে 'value' ভেরিয়েবলে অ্যাসাইন
students.map(({ name: value }) => value)
// সমতুল্য:
students.map(obj => obj.name)
students.map(function(obj) { return obj.name; })
আরো উদাহরণ
const users = [
{ id: 1, name: 'A', age: 20, active: true },
{ id: 2, name: 'B', age: 25, active: false },
{ id: 3, name: 'C', age: 30, active: true }
];
// এক্টিভ ইউজারদের নাম
const activeNames = users
.filter(u => u.active)
.map(u => u.name);
// ['A', 'C']
// ID-নাম ম্যাপ
const idNameMap = users.reduce((acc, u) => {
acc[u.id] = u.name;
return acc;
}, {});
// { 1: 'A', 2: 'B', 3: 'C' }
Map vs forEach vs for Loop
| পদ্ধতি | রিটার্ন | ব্যবহার |
|---|---|---|
| map() | নতুন অ্যারে | ট্রান্সফরমেশন |
| forEach() | undefined | সাইড ইফেক্ট (লগ, DOM) |
| for...of | N/A | লুপ কন্ট্রোল (break/continue) |
সতর্কতা
- `map()` নতুন অ্যারে বানায় (মেমরি)। বড় ডেটায় `forEach` বা `for...of` ভালো।
- অ্যাসিঙ্ক অপারেশনের জন্য `Promise.all(arr.map(async ...))` ব্যবহার করুন।