Eén eigenschap wijzigen op id in JavaScript

Het kan zijn dat u niet het hele object wilt wijzigen, maar alleen een specifieke eigenschap. Laten we kijken hoe dat wordt gedaan.

Stel dat in de variabele arr een array van objecten ligt:

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

Stel dat in variabelen het id van het element, de naam van de te wijzigen eigenschap en de nieuwe waarde van de eigenschap zijn opgeslagen:

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

Voor het oplossen van deze taak is het handig om destructuring en berekende eigenschapsnamen te gebruiken:

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

De volgende variabelen zijn gegeven:

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

Maak een knop waarop, wanneer erop wordt geklikt, het element uit de array met het opgegeven id wordt genomen, daarin de eigenschap met de opgegeven naam wordt genomen en aan het einde van de waarde van deze eigenschap het teken '!' wordt toegevoegd.

Задание 2

Stel dat twee variabelen met eigenschapsnamen zijn gegeven:

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

Pas de vorige taak zo aan dat er bij een klik wijzigingen worden uitgevoerd voor beide opgegeven eigenschappen.

Задание 3

Pas de oplossing uit de theorie aan door het object te kopiëren met Object.assign.