অন্যান্য উত্তরগুলি বস্তু এবং Map
গুলিগুলির মধ্যে একটি শেষ পার্থক্য উল্লেখ করে না :
Map
বস্তু কী-মান জোড়া ঝুলিতে এবং কি মূল সন্নিবেশ অর্ডার স্মরণ ।
সুতরাং, এটির উপরে পুনরাবৃত্তি করার সময়, একটি মানচিত্র অবজেক্ট সন্নিবেশ অনুসারে কীগুলি ফিরিয়ে দেয়।
এমডিএন থেকে উদ্ধৃতি , জোর আমার
Map
সাম্প্রতিক প্রকল্পে আমি প্রথমবারের জন্য ব্যবহারের সিদ্ধান্ত নেওয়ার মূল কারণ এটি ছিল । আমার একটি সাধারণ অবজেক্ট ছিল যা আমার একটিতে প্রদর্শন করা দরকার <table>
, প্রতিটি সম্পত্তি একটি নির্দিষ্ট সারিতে চলে।
let productPropertyOrder = [ "name", "weight", "price", "stocked" ];
let product =
{
name: "Lasagne",
weight: "1kg",
price: 10,
stocked: true
}
আমি একটি ফাংশন Map
একটি পছন্দসই মূল ক্রম অনুযায়ী একটি বস্তু রূপান্তর করতে লিখেছি :
function objectToMap( obj, order )
{
let map = new Map();
for ( const key of order )
{
if ( obj.hasOwnProperty( key ) )
{
map.set( key, obj[ key ] );
}
}
return map;
}
তারপরে মানচিত্রটি কাঙ্ক্ষিত ক্রমে পুনরাবৃত্তি হতে পারে:
let productMap = objectToMap( product, productPropertyOrder );
for ( const value of productMap.values() )
{
let cell = document.createElement( "td" );
cell.innerText = value;
row.appendChild( cell );
}
অবশ্যই এটি কিছুটা সংশ্লেষিত কারণ Map
প্রক্রিয়াটিতে একটি তৈরি না করেই সম্পত্তি অর্ডার নিয়ে পুনরাবৃত্তি করার সময় একজন ঠিক সেইভাবে প্রদর্শন করতে পারে:
for ( const key of productPropertyOrder )
{
if ( product.hasOwnProperty( key ) )
{
let value = product[ key ];
// create cell
}
}
তবে যদি আপনার কাছে এই জাতীয় অবজেক্টগুলির একটি অ্যারে থাকে এবং সেগুলি অনেকগুলি স্থান প্রদর্শন করে চলেছে, তবে সেগুলি প্রথমে মানচিত্রে রূপান্তর করা অর্থবোধ করে।