ელემენტის id-ით შეცვლა JavaScript-ში
დაე, ცვლადში arr იყოს
ობიექტების მასივი:
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',
},
];
დაე, ჩვენ გვინდა შევცვალოთ რაიმე ელემენტი მასივის. დაე, ახალი მონაცემები ინახებოდეს ცვლადში, მაგალითად, ასეთი:
javascriptlet data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
მოცემულ ობიექტში id ემთხვევა
მასივის მეორე ელემენტის id-ს, ხოლო თვისებების
მნიშვნელობები - სხვა. სხვა სიტყვებით რომ ვთქვათ,
data-ში id თვისებაში ჩვენი მასივის იმ
ელემენტის id ინახება, რომლის
შეცვლაც გვინდა.
მოდით, შევასრულოთ ეს ცვლილება. ამისთვის
ჩვენ მასივის ელემენტებს ციკლით
გადავუვლით და, თუ id ემთხვევა საძიებელს, შევასრულებთ
ელემენტის ჩანაცვლებას, ხოლო თუ არ ემთხვევა, დავტოვებთ
ელემენტს უცვლელად:
javascriptlet res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
კოდის შემოკლება შესაძლებელია ტერნარული ოპერატორის გამოყენებით:
javascriptlet res = arr.map(elem => elem.id === data.id ? data : elem);
დაე, ცვლადში ინახება მასივის ელემენტის
id. გააკეთეთ ღილაკი, რომლის დაჭერისას
შეიცვლება მასივის შესაბამისი
ელემენტი.