Operações com objetos em funções em JavaScript

Vamos adicionar ao objeto uma função que executará uma operação útil. Por exemplo, encontrará a soma dos elementos do objeto.

Suponha que temos o objeto:

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

Vamos criar um símbolo:

javascriptlet sym = Symbol();

Vamos registrar a função:

javascriptobj[sym] = function() {
  
};

Na função, vinculada ao objeto, this irá se referir ao próprio objeto:

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

Vamos encontrar usando nossa função a soma dos elementos do objeto:

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

Vamos chamar nossa função, obtendo a soma dos elementos do objeto:

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

Dado o array:

javascriptlet arr = [1, 2, 3];

Pelo método descrito na lição, adicione ao array uma função que retornará a soma dos elementos do array.

Задание 2

Chame a função criada e certifique-se de que ela encontra a soma corretamente.

Задание 3

Adicione ao array vários elementos usando o método push. Certifique-se de que a função encontrará a soma levando em conta os novos elementos.