Darbības ar objektiem funkcijā JavaScript

Pievienosim objektam funkciju, kas veiks kādu noderīgu darbību. Piemēram, atradīs objekta elementu summu.

Pieņemsim, ka mums ir objekts:

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

Izveidosim simbolu:

javascriptlet sym = Symbol();

Ierakstīsim funkciju:

javascriptobj[sym] = function() {
  
};

Funkcijā, kas piesaistīta objektam, this norādīs uz pašu objektu:

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

Atradīsim ar mūsu funkcijas palīdzību objekta elementu summu:

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

Izsaucam mūsu funkciju, iegūstot objekta elementu summu:

javascriptlet sum = obj[sym]();
console.log(sum); // izvadīs 6
Задание 1

Dots masīvs:

javascriptlet arr = [1, 2, 3];

Nodarbībā aprakstīto metodi pievienojiet masīvam funkciju, kas atgriezīs masīva elementu summu.

Задание 2

Izsauciet izveidoto funkciju un pārliecinieties, ka tā pareizi atrod summu.

Задание 3

Pievienojiet masīvam vairākus elementus ar metodes push palīdzību. Pārliecinieties, ka funkcija atradīs summu, ņemot vērā jaunos elementus.