Как можно перебрать и найти сумму элемента этого объекта(js)?

let obj = {
    key1: {
        a: 1, b: 2, c: {
            d: 3,
            e: 4,
        }, f: 5,
    },
    key2: {
        g: 6, h: 7,
    },
}

Ответы (1 шт):

Автор решения: Aziz Umarov

Как-то так

Так как ключи нам не интересны только значения. Нужно посмотреть не является ли значение объектом и просуммировать его, а если да то рекурсия.

let obj = {
    key1: {
        a: 1, b: 2, c: {
            d: 3,
            e: 4,
        }, f: 5,
    },
    key2: {
        g: 6, h: 7,
    },
}

function Sum(obj) {
  return Object.values(obj).reduce((acc, item) => { acc+= (item instanceof Object)? Sum(item): item; return acc;}, 0);
}

console.log(Sum(obj));

→ Ссылка