Операције са објектима у функцији у ЈаваСкрипту

Хајде да додамо у објекат функцију, која ће извршавати одређену корисну операцију. На пример, пронаћи суму елемената објекта.

Нека имамо објекат:

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