Mengubah Satu Sifat Mengikut id dalam JavaScript
Anda mungkin perlu mengubah bukan keseluruhan objek, tetapi sifat tertentu. Mari kita lihat bagaimana ia dilakukan.
Katakan dalam pembolehubah arr terdapat
array objek:
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',
},
];
Katakan dalam pembolehubah disimpan id elemen,
nama sifat untuk diubah dan nilai baru
sifat:
let id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';
Untuk menyelesaikan masalah ini, adalah mudah untuk menggunakan destructuring dan computed property names:
let res = arr.map(elem => {
if (elem.id === id) {
return {...elem, [prop]: value};
} else {
return elem;
}
});
Diberi pembolehubah berikut:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';
Buatkan butang, yang apabila ditekan akan
mengambil elemen array dengan id yang ditentukan,
di dalamnya akan diambil sifat dengan nama yang ditentukan
dan pada akhir nilai sifat tersebut
akan ditambahkan tanda '!'.
Katakan diberikan dua pembolehubah dengan nama sifat:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';
Ubahsuai tugas sebelumnya supaya perubahan dilakukan sekaligus untuk dua sifat yang ditentukan apabila diklik.
Ubahsuai penyelesaian yang diberikan dalam teori
melalui penyalinan objek menggunakan Object.assign.