Ndryshimi i një vetie sipas id në JavaScript

Mund t'ju duhet të ndryshoni jo të gjithë objektin, por një veti specifike. Le të shohim si bëhet kjo.

Le të themi se në variablin arr gjendet një grup objektesh:

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

Le të themi se në variabla ruhen id e elementit, emri i vetisë për të ndryshuar dhe vlera e re e vetisë:

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

Për të zgjidhur këtë problem është e përshtatshme të përdoret destrukturosimi dhe emrat e llogaritur të vetive:

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

Janë dhënë variablat e mëposhtme:

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

Krijoni një buton, upon clicking on which do të merret elementi i grupit me id e specifikuar, do të merret vetia me emrin e specifikuar dhe në fund të vlerës së kësaj vetie do të shtohet shenja '!'.

Задание 2

Le të themi se janë dhënë dy variabla me emra vetish:

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

Modifikoni detyrën e mëparshme në mënyrë që në klik ndryshimet të kryhen menjëherë për dy vetitë e specifikuara.

Задание 3

Rishkruaj zgjidhjen e dhënë në teori duke përdorur kopjimin e objektit me Object.assign.