@yagyar001

Как найти сумму всех элементов многомерного объекта?

Всем привет. Учу js. Делаю задачу, а как сделать что то не понимаю. В общем дан объект, нужно найти сумму всех чисел в нем. И я запутался. В чем моя ошибка? Сделать нужно через for-in.
let obj = 	{
				key1: {
						a: 1, b: 2, 
						c: {
								d: 3,
								e: 4,
							}, 
						f: 5
					  },
				key2: {
						g: 6, h: 7
					  }
			};
let sum = 0;
for (key1 in obj) {
	for (key2 in obj[key1]) {
		for (key3 in obj[key1][key2]) {
			for (key4 in obj[key1][key2][key2]) {
				sum += key4;
			}
		}
	}
}
console.log(sum);
  • Вопрос задан
  • 1719 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
В чем моя ошибка?

В неприменении рекурсии:

const sum = val =>
  val instanceof Object
    ? Object.values(val).reduce((acc, n) => acc + sum(n), 0)
    : val;


console.log(sum(obj));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы