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:

javascriptlet obj = {a: 1, b: 2, c: 3};

Să creăm un simbol:

javascriptlet sym = Symbol();

Să scriem funcția:

javascriptobj[sym] = function() {
  
};

În funcția, legată de obiect this va indica către obiectul însuși:

javascriptobj[sym] = function() {
  console.log(this); // {a: 1, b: 2, c: 3}
};

Să găsim cu ajutorul funcției noastre suma elementelor obiectului:

javascriptobj[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:

javascriptlet sum = obj[sym]();
console.log(sum); // va afișa 6
Задание 1

Este dat array-ul:

javascriptlet 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.

Задание 2

Apelează funcția creată și asigură-te, că ea găsește corect suma.

Задание 3

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.