【问题标题】: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)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-11
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-30
        • 2014-04-11
        相关资源
        最近更新 更多