JavaScript-da id bo‘yicha elementni o‘zgartirish
O‘zgaruvchida arr
ob'ektlar massivi yotadi:
let 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',
},
];
Faraz qilaylik, biz massivning biron bir elementini o‘zgartirmoqchimiz. Yangi ma'lumotlar o‘zgaruvchida saqlansin, masalan, mana bunday:
let data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
Keltirilgan ob'ektda id
massivning ikkinchi elementining id si bilan
mos keladi, xususiyatlarning qiymatlari esa boshqacha.
Boshqacha qilib aytganda,
data da id xususiyatida biz
o‘zgartirmoqchi bo‘lgan massiv elementining
id si saqlanadi.
Keling, bu o‘zgartirishni amalga oshiramiz. Buning uchun
massiv elementlarini tsikl bilan aylantiramiz
va agar id kerakli bilan mos kelsa,
elementni almashtiramiz, aks holda elementni
o‘zgartirmay qoldiramiz:
let res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
Kodni ternar operatoridan foydalanib qisqartirish mumkin:
let res = arr.map(elem => elem.id === data.id ? data : elem);
Faraz qilaylik, o‘zgaruvchida massiv elementining
id si saqlanadi. Tugma yarating, uni bosish
orqali mos keladigan massiv elementi o‘zgartirilsin.