Necesito encontrar la suma de todos los valores de propiedad y guardarla en otra propiedad ( totalScore ) del mismo objeto
Lo que he probado :
La siguiente función se prueba y devuelve la suma de todas las propiedades del objeto excepto la propiedad totalScore (o k = cualquier propiedad).
const calculateScore = (my_object) => { const allowed = Object.keys(my_object).reduce((obj, k) => { if (k != 'totalScore') obj[k] = my_object[k]; return obj; }, {}); return Object.values(allowed).reduce((a, b) => a + b); }Digamos que tengo este objeto:
const obje = { prop1: 1, prop2: 2, prop3: 3, totalScore: calculateScore(this) } Intenté simplemente invocar la función de calculateScore de puntuación anterior y recibí una Function como totalScore , además, this palabra clave apunta a un objeto global .
También probé IIFE , por lo que totalScore se ejecuta cada vez que se crea Object (y su constructor):
const obje = { prop1: 1, prop2: 2, prop3: 3, totalScore: (() => calculateScore(this))() }Pero todavía sin éxito. Me gustaría trabajar de esta manera y me alegraría ver una mejor implementación de mi caso de uso.