Objektien operaatiot funktioissa JavaScriptissä

Lisätkäämme objektiin funktio, joka suorittaa jonkin hyödyllisen operaation. Esimerkiksi, löytää objektin elementtien summan.

Olkoon meillä objekti:

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

Luodaan symboli:

javascriptlet sym = Symbol();

Kirjoitetaan funktio:

javascriptobj[sym] = function() {
  
};

Funktiossa, joka on sidottu objektiin, this viittaa itse objektiin:

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

Etsitään funktiomme avulla objektin elementtien summa:

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

Kutsukaa funktiotamme, saadaksemme objektin elementtien summan:

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

Annettu taulukko:

javascriptlet arr = [1, 2, 3];

Oppitunnissa kuvatulla tavalla lisätkää taulukkoon funktio, joka palauttaa taulukon elementtien summan.

Задание 2

Kutsu luotua funktiota ja varmista, että se löytää summan oikein.

Задание 3

Lisää taulukkoon useita elementtejä push-metodin avulla. Varmista, että funktio löytää summan ottaen huomioon uudet elementit.