JavaScript'te id'ye Göre Öğeyi Değiştirme
Değişkende arr bir nesne dizisi
olsun:
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',
},
];
Diyelim ki dizinin herhangi bir öğesini değiştirmek istiyoruz. Yeni veriler bir değişkende saklansın, örneğin şöyle:
let data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
Verilen nesnede id, dizinin ikinci
elemanının id'si ile eşleşiyor, ancak
özellik değerleri farklı. Başka bir deyişle,
data'nın id özelliğinde, değiştirmek
istediğimiz dizi elemanının id'si
saklanıyor.
Bu değişikliği gerçekleştirelim. Bunun için
dizi elemanlarını bir döngü ile gezelim
ve eğer id arananla eşleşirse, elemanı
değiştirelim, eşleşmezse, elemanı olduğu
gibi bırakalım:
let res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
Kodu, üçlü operatörü kullanarak kısaltabiliriz:
let res = arr.map(elem => elem.id === data.id ? data : elem);
Değişkende bir dizi elemanının id'si
saklansın. Tıklandığında ilgili dizi elemanının
değiştirileceği bir düğme yapın.