Операции со објекти во функција во 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. Убедете се дека функцијата ќе го наоѓа збирот со оглед на новите елементи.