Operațiuni cu obiecte în funcții în JavaScript
Să adăugăm în obiect o funcție, care va executa o anumită operațiune utilă. De exemplu, va găsi suma elementelor obiectului.
Să presupunem că avem obiectul:
let obj = {a: 1, b: 2, c: 3};
Să creăm un simbol:
let sym = Symbol();
Să scriem funcția:
obj[sym] = function() {
};
În funcția, legată de obiect
this va indica către
obiectul însuși:
obj[sym] = function() {
console.log(this); // {a: 1, b: 2, c: 3}
};
Să găsim cu ajutorul funcției noastre suma elementelor obiectului:
obj[sym] = function() {
let sum = 0;
for (let key in this) {
sum += this[key];
}
return sum;
};
Să apelăm funcția noastră, obținând suma elementelor obiectului:
let sum = obj[sym]();
console.log(sum); // va afișa 6
Este dat array-ul:
let arr = [1, 2, 3];
Prin metoda descrisă în lecție adăugați în array o funcție, care va returna suma elementelor array-ului.
Apelează funcția creată și asigură-te, că ea găsește corect suma.
Adaugă în array câteva elemente
cu ajutorul metodei push.
Asigură-te, că funcția va găsi
suma ținând cont de elementele noi.