Operace s objekty ve funkcích v JavaScriptu
Přidejme do objektu funkci, která bude provádět určitou užitečnou operaci. Například bude hledat součet prvků objektu.
Předpokládejme, že máme objekt:
let obj = {a: 1, b: 2, c: 3};
Vytvořme symbol:
let sym = Symbol();
Zapišme funkci:
obj[sym] = function() {
};
Ve funkci připojené k objektu
this bude odkazovat na samotný
objekt:
obj[sym] = function() {
console.log(this); // {a: 1, b: 2, c: 3}
};
Najděme pomocí naší funkce součet prvků objektu:
obj[sym] = function() {
let sum = 0;
for (let key in this) {
sum += this[key];
}
return sum;
};
Zavolejme naši funkci a získejme součet prvků objektu:
let sum = obj[sym]();
console.log(sum); // vypše 6
Dané pole:
let arr = [1, 2, 3];
Popisovaným způsobem z lekce přidejte do pole funkci, která bude vracet součet prvků pole.
Zavolejte vytvořenou funkci a přesvědčte se, že správně najde součet.
Přidejte do pole několik prvků
pomocí metody push.
Přesvědčte se, že funkce bude nacházet
součet s ohledem na nové prvky.