【问题标题】:How to get the minimum value of a key from an object of objects如何从对象的对象中获取键的最小值
【发布时间】:2019-03-27 02:01:51
【问题描述】:

我有一些看起来像这样的数据:

{
45: [
    {
    minPrice: 59,
    avgPrice: 123,
    maxPrice: 279
    }
],
34: [
    {
    minPrice: 99,
    avgPrice: 160,
    maxPrice: 320,
   }
]
}
}

在所有具有 45 和 34 等键的对象中,获得最低 minPrice 值的最佳方法是什么。它是一个具有多个键的对象,每个键都有一个对象数组,该数组中的每个对象都会有一个minPrice 键。

我尝试使用 Object.keys() 将其转换为 Array ,但这会产生多个嵌套数组(这是预期的)。这可能是一个解决方案,但有没有更好更有效的方法来获得minPrice?在上面的例子中,结果应该是 59。

【问题讨论】:

    标签: javascript json object ecmascript-6


    【解决方案1】:

    你的方向是正确的。但是你应该使用Objects.value() 而不是Objects.key(),因为你想比较的是值而不是键!

    以下是如何从对象的对象中获取键的最小值。

    提取对象的值后,你应该可以使用array.map()创建一个minPrice的数组,然后使用Math.MinES6spread syntax返回最低价。

    const obj = {
      45: [
          {
          minPrice: 59,
          avgPrice: 123,
          maxPrice: 279
          }
      ],
      34: [
          {
          minPrice: 99,
          avgPrice: 160,
          maxPrice: 320,
        }
      ]
    }
    const processedValues = Object.values(obj);
    //console.log(values)
    const minimumValue = Math.min(...processedValues.map(obj => obj[0]['minPrice']));
    console.log(minimumValue)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多