首页 > 解决方案 > 在对象数组中查找具有某个属性最大值的项目并返回该项目的另一个属性

问题描述

如果价格最高,则尝试创建一个函数以返回名称使用 javascript。还在学习。

  {
    Name: "Effective Yoga Habits",
    type: "book",
    price: 10.99
  },
  {
    Name: "Yoga kit",
    type: "product",
    price: 199.99
  },
  {
    Name: "Medative surroundings",
    type: "CD",
    price: 6.00
  }
]

如果有人可以提供帮助,我将不胜感激。先感谢您

标签: javascriptarraysobject

解决方案


您可以使用Array.prototype.reduce()来遍历您的数组并使用累加器来存储具有price最大值的记录:

const src = [{Name:"Effective Yoga Habits",type:"book",price:10.99},{Name:"Yoga kit",type:"product",price:199.99},{Name:"Medative surroundings",type:"CD",price:6.00}],

    result = src
      .reduce((r, {Name,price}) => 
        price > r.price ? {Name,price} : r)
      .Name
    
console.log(result)


推荐阅读