encuentre la adición del objeto anidado usando la recursividad aquí mi suma siempre se pasa como 10 ??......... Estoy tratando de agregar el valor de la suma en otra condición pero si siempre pasa como 10
let abc = { a: 10, b: { a: 20 }, c: { b: { a: 30 } } }; const Formation = (obj,sum) =>{ for(let ky in obj) { if (typeof obj[ky] == 'object') { Formation(obj[ky],sum); } else { sum += obj[ky] ? obj[ky] : 0; } // console.log(sum) } return sum; } console.log('res: ', Formation(abc, 0));Sí, es porque no usa el valor devuelto de la Formación anidada. Necesitas hacer algunos cambios en tu código:
let abc = { a: 10, b: { a: 20 }, c: { b: { a: 30 } } }; const Formation = (obj) =>{ let sum = 0; for(let ky in obj){ if(typeof obj[ky] == 'object'){ sum += Formation(obj[ky]); } else{ sum += obj[ky] ? obj[ky] : 0; } // console.log(sum) } return sum; }