Operazioni con oggetti in funzioni in JavaScript

Aggiungiamo all'oggetto una funzione che eseguirà un'operazione utile. Ad esempio, troverà la somma degli elementi dell'oggetto.

Supponiamo di avere un oggetto:

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

Creiamo un simbolo:

javascriptlet sym = Symbol();

Scriviamo la funzione:

javascriptobj[sym] = function() {
  
};

Nella funzione, associata all'oggetto this indicherà l'oggetto stesso:

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

Troviamo utilizzando la nostra funzione la somma degli elementi dell'oggetto:

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

Chiamiamo la nostra funzione, ottenendo la somma degli elementi dell'oggetto:

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

Dato un array:

javascriptlet arr = [1, 2, 3];

Con il metodo descritto nella lezione aggiungete all'array una funzione, che restituirà la somma degli elementi dell'array.

Задание 2

Chiamate la funzione creata e assicuratevi che trovi correttamente la somma.

Задание 3

Aggiungete all'array diversi elementi utilizzando il metodo push. Assicuratevi che la funzione trovi la somma tenendo conto dei nuovi elementi.