我如何迭代并获取子对象内所有值的总和?
在下面的示例中,我想添加所有windows
。
let house = {
livingroom: { windows: 6, doors: 4 },
bedroom: { windows: 4, doors: 2 },
bathroom: { windows: 2, doors: 1 },
garden: { windows: 0, doors: 2 }
}
我也尝试过:Object.values(house).reduce(sum, curr => sum + curr));
和let x += Object.values(house).forEach(sum => sum);
您可以尝试这个
Object.values(house).map(item => item.windows).reduce((accumulator, currentValue) => accumulator + currentValue)
如果理解正确,则需要迭代这些值,可以使用Object.values
:
let house = {
livingroom: { windows: 6, doors: 4 },
bedroom: { windows: 4, doors: 2 },
bathroom: { windows: 2, doors: 1 },
garden: { windows: 0, doors: 2 }
}
let count = { windows: 0, doors: 0 }
for (const room of Object.values(house)) {
count.windows += room.windows
count.doors += room.doors
}
console.log(count)