Mengubah Satu Properti berdasarkan id di JavaScript

Anda mungkin perlu mengubah bukan seluruh objek, tetapi properti tertentu. Mari kita lihat, bagaimana hal itu dilakukan.

Misalkan dalam variabel arr terdapat array objek:

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

Misalkan dalam variabel disimpan id elemen, nama properti untuk diubah, dan nilai baru properti:

javascriptlet id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';

Untuk menyelesaikan masalah ini, mudah menggunakan destructuring dan computed property names:

javascriptlet res = arr.map(elem => {
  if (elem.id === id) {
    return {...elem, [prop]: value};
  } else {
    return elem;
  }
});
Задание 1

Diberikan variabel-variabel berikut:

javascriptlet id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';

Buatlah tombol, yang ketika ditekan akan mengambil elemen array dengan id yang ditentukan, di dalamnya akan diambil properti dengan nama yang ditentukan dan di akhir nilai properti tersebut akan ditambahkan tanda '!'.

Задание 2

Misalkan diberikan dua variabel dengan nama properti:

javascriptlet id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';

Modifikasi tugas sebelumnya sehingga perubahan saat diklik dilakukan sekaligus untuk dua properti yang ditentukan.

Задание 3

Ubah solusi yang diberikan dalam teori melalui penyalinan objek menggunakan Object.assign.