JavaScriptda funktsiyada ob'ektlar bilan amallar

Keling, ob'ektga foydali amalni bajaradigan funktsiyani qo'shaylik. Masalan, u ob'ekt elementlarining yig'indisini topsin.

Bizda quyidagi ob'ekt bor:

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

Symbol yaratamiz:

javascriptlet sym = Symbol();

Funktsiyani yozamiz:

javascriptobj[sym] = function() {
  
};

Ob'ektga bog'langan funktsiyada this ob'ektning o'zini ko'rsatadi:

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

Yaratgan funktsiyamiz yordamida ob'ekt elementlarining yig'indisini topamiz:

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

Funktsiyamizni chaqirib, ob'ekt elementlarining yig'indisini olamiz:

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

Berilgan massiv:

javascriptlet arr = [1, 2, 3];

Darsda tavsiflangan usul bilan massivga massiv elementlari yig'indisini qaytaradigan funktsiya qo'shing.

Задание 2

Yaratilgan funktsiyani chaqiring va u yig'indini to'g'ri topishiga ishonch hosil qiling.

Задание 3

push usuli yordamida massivga bir nechta element qo'shing. Funktsiya yangi elementlarni hisobga olgan holda yig'indini topishiga ishonch hosil qiling.