Операции с обекти във функция в JavaScript
Нека добавим към обекта функция, която ще изпълнява някаква полезна операция. Например, ще намира сумата от елементите на обекта.
Да предположим, че имаме обект:
let obj = {a: 1, b: 2, c: 3};
Нека създадем символ:
let sym = Symbol();
Нека запишем функцията:
obj[sym] = function() {
};
Във функцията, свързана с обекта,
this ще сочи към самия
обект:
obj[sym] = function() {
console.log(this); // {a: 1, b: 2, c: 3}
};
Нека намерим с помощта на нашата функция сумата от елементите на обекта:
obj[sym] = function() {
let sum = 0;
for (let key in this) {
sum += this[key];
}
return sum;
};
Нека извикаме нашата функция, за да получим сумата от елементите на обекта:
let sum = obj[sym]();
console.log(sum); // ще изведе 6
Даден е масив:
let arr = [1, 2, 3];
По описания в урока начин добавете към масива функция, която ще връща сумата от елементите на масива.
Извикайте създадената функция и се уверете, че тя правилно намира сумата.
Добавете към масива няколко елемента
с помощта на метода push.
Уверете се, че функцията ще намира
сумата, като взема предвид новите елементи.