Objektoperationen mit Funktionen in JavaScript

Fügen wir einem Objekt eine Funktion hinzu, die eine nützliche Operation ausführt. Zum Beispiel soll sie die Summe der Elemente des Objekts finden.

Nehmen wir an, wir haben das folgende Objekt:

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

Erstellen wir ein Symbol:

javascriptlet sym = Symbol();

Schreiben wir die Funktion:

javascriptobj[sym] = function() {
  
};

In der Funktion, die an das Objekt gebunden ist, zeigt this auf das Objekt selbst:

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

Finden wir mit unserer Funktion die Summe der Elemente des Objekts:

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

Rufen wir unsere Funktion auf, um die Summe der Elemente des Objekts zu erhalten:

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

Gegeben ist ein Array:

javascriptlet arr = [1, 2, 3];

Fügen Sie auf die im Unterricht beschriebene Weise dem Array eine Funktion hinzu, die die Summe der Array-Elemente zurückgibt.

Задание 2

Rufen Sie die erstellte Funktion auf und vergewissern Sie sich, dass sie die Summe korrekt findet.

Задание 3

Fügen Sie dem Array mit der Methode push einige Elemente hinzu. Vergewissern Sie sich, dass die Funktion die Summe unter Berücksichtigung der neuen Elemente findet.