Операции с объектами в функции в 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. Убедитесь, что функция будет находить сумму с учетом новых элементов.