Λειτουργίες με αντικείμενα σε συναρτήσεις σε JavaScript

Ας προσθέσουμε σε ένα αντικείμενο μια συνάρτηση, η οποία θα εκτελεί μια ορισμένη χρήσιμη λειτουργία. Για παράδειγμα, θα βρίσκει το άθροισμα των στοιχείων του αντικειμένου.

Ας υποθέσουμε ότι έχουμε το αντικείμενο:

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

Δημιουργούμε ένα σύμβολο:

javascriptlet sym = Symbol();

Γράφουμε τη συνάρτηση:

javascriptobj[sym] = function() {
  
};

Στη συνάρτηση, που είναι δεσμευμένη στο αντικείμενο, το this θα δείχνει στο ίδιο το αντικείμενο:

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

Βρίσκουμε χρησιμοποιώντας τη συνάρτησή μας το άθροισμα των στοιχείων του αντικειμένου:

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

Καλούμε τη συνάρτησή μας, παίρνοντας το άθροισμα των στοιχείων του αντικειμένου:

javascriptlet sum = obj[sym]();
console.log(sum); // θα εμφανίσει 6
Задание 1

Δίνεται ένας πίνακας:

javascriptlet arr = [1, 2, 3];

Με τον τρόπο που περιγράφηκε στο μάθημα προσθέστε στον πίνακα μια συνάρτηση, η οποία θα επιστρέφει το άθροισμα των στοιχείων του πίνακα.

Задание 2

Καλέστε τη δημιουργημένη συνάρτηση και βεβαιωθείτε, ότι βρίσκει σωστά το άθροισμα.

Задание 3

Προσθέστε στον πίνακα πολλά στοιχεία χρησιμοποιώντας τη μέθοδο push. Βεβαιωθείτε ότι η συνάρτηση θα βρίσκει το άθροισμα λαμβάνοντας υπόψη τα νέα στοιχεία.