Immutaabelinen taulukon elementtien muuttaminen JavaScriptissä
Opitaan nyt tekemään immutaabelia muutosta taulukon elementteihin. Otetaan esimerkiksi tällainen taulukko:
let arr = [1, 2, 3, 4, 5];
Olkoon muutettavan elementin indeksi
talletettuna muuttujaan ind:
let ind = 3;
Muutetaan annetussa indeksissä oleva elementti. Menetelmämme mukaisesti meidän tulee tehdä kopio taulukosta ja muuttaa elementti kopiossa. Tehdään se:
let copy = Object.assign([], arr);
copy[ind] = '!';
let res = copy;
Käytetään toista menetelmää:
let res = [
...arr.slice(0, ind),
'!',
...arr.slice(ind + 1)
];
Tee painike, jota painettaessa tapahtuu taulukon elementin muutos. Olkoon muutettavan elementin indeksi talletettuna muuttujaan.