Objektide operatsioonid funktsioonis JavaScriptis

Lisame objekti funktsiooni, mis teeb mõnd kasulikku operatsiooni. Näiteks leiab objekti elementide summa.

Olgu meil objekt:

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

Loome sümboli:

javascriptlet sym = Symbol();

Kirjutame funktsiooni:

javascriptobj[sym] = function() {
  
};

Funktsioonis, mis on seotud objektiga, viitab this objektile endale:

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

Leiame oma funktsiooni abil objekti elementide summa:

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

Kutsume välja oma funktsiooni, saades objekti elementide summa:

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

Antud massiiv:

javascriptlet arr = [1, 2, 3];

Kirjeldatud viisil lisage massiivi funktsioon, mis tagastab massiivi elementide summa.

Задание 2

Kutsu välja loodud funktsioon ja veendu, et see leiab summa õigesti.

Задание 3

Lisage massiivi mitu elementi meetodi push abil. Veenduge, et funktsioon leiab summa arvestades uusi elemente.