Operacije z objekti v funkciji v JavaScript

Dodajmo objektu funkcijo, ki bo izvajala neko uporabno operacijo. Na primer, bo našla vsoto elementov objekta.

Recimo, da imamo objekt:

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

Ustvarimo simbol:

javascriptlet sym = Symbol();

Zapišimo funkcijo:

javascriptobj[sym] = function() {
  
};

V funkciji, povezani z objektom, bo this kazal na sam objekt:

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

Poiščimo z našo funkcijo vsoto elementov objekta:

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

Pokličimo našo funkcijo in dobimo vsoto elementov objekta:

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

Podano je polje:

javascriptlet arr = [1, 2, 3];

Na način, opisan v lekciji, dodajte polju funkcijo, ki bo vračala vsoto elementov polja.

Задание 2

Pokličite ustvarjeno funkcijo in se prepričajte, da pravilno najde vsoto.

Задание 3

Dodajte polju več elementov z metodo push. Prepričajte se, da bo funkcija našla vsoto ob upoštevanju novih elementov.