Operacje na obiektach w funkcjach w JavaScript

Dodajmy do obiektu funkcję, która będzie wykonywać pewną użyteczną operację. Na przykład, będzie znajdować sumę elementów obiektu.

Załóżmy, że mamy obiekt:

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

Stwórzmy symbol:

javascriptlet sym = Symbol();

Zapiszmy funkcję:

javascriptobj[sym] = function() {
  
};

W funkcji powiązanej z obiektem this będzie wskazywać na sam obiekt:

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

Znajdźmy za pomocą naszej funkcji sumę elementów obiektu:

javascriptobj[sym] = function() {
  let sum = 0;
  
  for (let key in this) {
    sum += this[key];
  }
  
  return sum;
};

Wywołajmy naszą funkcję, otrzymując sumę elementów obiektu:

javascriptlet sum = obj[sym]();
console.log(sum); // wyświetli 6
Задание 1

Dana jest tablica:

javascriptlet arr = [1, 2, 3];

Opisanym w lekcji sposobem dodaj do tablicy funkcję, która będzie zwracać sumę elementów tablicy.

Задание 2

Wywołaj utworzoną funkcję i upewnij się, że poprawnie znajduje sumę.

Задание 3

Dodaj do tablicy kilka elementów za pomocą metody push. Upewnij się, że funkcja będzie znajdować sumę uwzględniając nowe elementy.