Operaciones con objetos en funciones en JavaScript

Vamos a añadir al objeto una función, que realizará una operación útil. Por ejemplo, encontrará la suma de los elementos del objeto.

Supongamos que tenemos un objeto:

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

Creemos un símbolo:

javascriptlet sym = Symbol();

Escribamos la función:

javascriptobj[sym] = function() {
  
};

En la función, vinculada al objeto, this hará referencia al objeto mismo:

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

Encontremos mediante nuestra función la suma de los elementos del objeto:

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

Llamemos a nuestra función, obteniendo la suma de los elementos del objeto:

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

Dado un array:

javascriptlet arr = [1, 2, 3];

Mediante el método descrito en la lección, añada al array una función, que devolverá la suma de los elementos del array.

Задание 2

Llame a la función creada y compruebe que encuentra correctamente la suma.

Задание 3

Añada al array varios elementos con el método push. Compruebe que la función encontrará la suma teniendo en cuenta los nuevos elementos.