JavaScript-এ Map অবজেক্টের ভ্যালুগুলো (যা অ্যারে) join() এবং map() ব্যবহার করে একক কোয়েরি স্ট্রিং-এ রূপান্তর করা যায়। URL কোয়েরি প্যারামিটার বানানোর জন্য আদর্শ।
কোড উদাহরণ
const queryMap = new Map();
queryMap.set("firstParam", ["name=John", "age=23", "country=US"]);
queryMap.set("secondParam", ["subject=JavaScript", "marks=91"]);
// মানগুলো জয়েন করে স্ট্রিং বানানো
const result = Array.from(queryMap.values())
.map(arr => arr.join('?')) // প্রতিটি অ্যারে ? দিয়ে জয়েন
.join('?'); // সব অ্যারে ? দিয়ে জয়েন
console.log("জয়েনড মান: " + result);
চলানোর পদ্ধতি
- কোডটি
mapJoin.jsনামে সংরক্ষণ করুন। - টার্মিনালে চালান:
node mapJoin.js
আউটপুট
জয়েনড মান: name=John?age=23?country=US?subject=JavaScript?marks=91
স্টেপ-বাই-স্টেপ ব্যাখ্যা
// ১. Map.values() → Iterator: [["name=John", "age=23", "country=US"], ["subject=JavaScript", "marks=91"]]
// ২. Array.from() → Array of arrays
// ৩. .map(arr => arr.join('?')) → ["name=John?age=23?country=US", "subject=JavaScript?marks=91"]
// ৪. .join('?') → "name=John?age=23?country=US?subject=JavaScript?marks=91"
URLSearchParams ব্যবহার (স্ট্যান্ডার্ড পদ্ধতি)
const params = new URLSearchParams();
params.append("name", "John");
params.append("age", "23");
params.append("country", "US");
params.append("subject", "JavaScript");
params.append("marks", "91");
console.log(params.toString());
// name=John&age=23&country=US&subject=JavaScript&marks=91 (ampersand &)
Map vs Object vs URLSearchParams
| ফিচার | Map | Object | URLSearchParams |
|---|---|---|---|
| কী টাইপ | যেকোনো | স্ট্রিং/সিম্বল | স্ট্রিং |
| অর্ডার রক্ষা | হ্যাঁ | হ্যাঁ (ES2015+) | হ্যাঁ |
| ডুপ্লিকেট কী | না | না | হ্যাঁ (append) |
| URL এনকোডিং | ম্যানুয়াল | ম্যানুয়াল | অটোমেটিক |
সারাংশ
- সিম্পল কেস: `URLSearchParams` ব্যবহার করুন।
- কমপ্লেক্স ট্রান্সফরমেশন: `Map` + `Array.from` + `map` + `join`।
- Map এর কী ইউনিক হতে হবে।