【问题标题】:Adding values of a two dimensional object - forEach?添加二维对象的值 - forEach?
【发布时间】:2020-09-07 03:06:23
【问题描述】:
如何迭代并获取子对象内所有值的总和?
在下面的示例中,我想添加所有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);
【问题讨论】:
标签:
javascript
object
key
key-value
【解决方案1】:
你可以试试这个
Object.values(house).map(item => item.windows).reduce((accumulator, currentValue) => accumulator + currentValue)
【解决方案2】:
如果理解正确,需要对值进行迭代,可以使用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)