JavaScript-da id bo‘yicha elementni o‘zgartirish

O‘zgaruvchida arr ob'ektlar massivi yotadi:

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',
  },
];

Faraz qilaylik, biz massivning biron bir elementini o‘zgartirmoqchimiz. Yangi ma'lumotlar o‘zgaruvchida saqlansin, masalan, mana bunday:

javascriptlet 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:

javascriptlet res = arr.map(elem => {
  if (elem.id === data.id) {
    return data;
  } else {
    return elem;
  }
});

Kodni ternar operatoridan foydalanib qisqartirish mumkin:

javascriptlet res = arr.map(elem => elem.id === data.id ? data : elem);
Задание 1

Faraz qilaylik, o‘zgaruvchida massiv elementining id si saqlanadi. Tugma yarating, uni bosish orqali mos keladigan massiv elementi o‘zgartirilsin.