JavaScript-এ id অনুযায়ী একটি বৈশিষ্ট্য পরিবর্তন করা
আপনার পুরো বস্তুটি নয়, বরং একটি নির্দিষ্ট বৈশিষ্ট্য পরিবর্তন করার প্রয়োজন হতে পারে। আসুন দেখি কিভাবে এটি করা যায়।
ধরুন পরিবর্তনশীল arr-এ বস্তুর একটি অ্যারে রয়েছে:
javascriptlet arr = [
{
id: 'GYi9GauC4gBF1e2SixDvu',
prop1: 'value11',
prop2: 'value12',
prop3: 'value13',
},
{
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21',
prop2: 'value22',
prop3: 'value23',
},
{
id: 'JAmjRlfQT8rLTm5tG2m1L',
prop1: 'value31',
prop2: 'value32',
prop3: 'value33',
},
];
ধরুন পরিবর্তনশীলগুলিতে উপাদানের id, পরিবর্তন করার বৈশিষ্ট্যের নাম এবং বৈশিষ্ট্যের নতুন মান সংরক্ষিত আছে:
javascriptlet id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';
সমস্যা সমাধানের জন্য ডেস্ট্রাকচারিং এবং কম্পিউটেড প্রোপার্টি নাম ব্যবহার করা সুবিধাজনক:
javascriptlet res = arr.map(elem => {
if (elem.id === id) {
return {...elem, [prop]: value};
} else {
return elem;
}
});
নিম্নলিখিত ভেরিয়েবলগুলি দেওয়া আছে:
javascriptlet id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';
একটি বাটন তৈরি করুন, যেটি ক্লিক করলে নির্দিষ্ট id সহ অ্যারের উপাদানটি নেওয়া হবে,
সেই উপাদান থেকে নির্দিষ্ট নামের বৈশিষ্ট্যটি নেওয়া হবে এবং সেই বৈশিষ্ট্যের মানের শেষে '!' চিহ্নটি যোগ করা হবে।
ধরুন বৈশিষ্ট্যের নাম সহ দুটি ভেরিয়েবল দেওয়া আছে:
javascriptlet id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';
পূর্ববর্তী কাজটি সংশোধন করুন যাতে ক্লিক করলে দুটি নির্দিষ্ট বৈশিষ্ট্যের জন্য একসাথে পরিবর্তনগুলি সম্পন্ন হয়।
তত্ত্বে দেওয়া সমাধানটি Object.assign ব্যবহার করে বস্তু কপি করার মাধ্যমে পুনরায় লিখুন।