-
DIEA
你可以减少方法。检查价格并用于.访问最大项目名称。来自 MDN:该reduce()方法对数组的每个元素执行一个缩减程序函数(您提供),从而产生单个输出值。?被称为三元运算符if(它是and的缩写形式else)有关此处reduce工作原理的更多信息现场演示:let items = [ { itemName: "Effective Programming Habits", type: "book", price: 13.99 }, { itemName: "Chromebook 2", type: "computer", price: 399.99 }, { itemName: "Programming 101", type: "book", price: 15.00 } ]let maxItem = items.reduce((max, min) => max.price > min.price ? max : min);console.log(maxItem.itemName) //Chromebook 2console.log(maxItem) //Full object
-
慕斯王
您可以使用 Lodash 库,集成起来非常简单快捷。Lodash "maxBy" 可以从数组中找到最大值。https://lodash.com/docs/4.17.15#maxBylet items = [ { itemName: "Effective Programming Habits", type: "book", price: 13.99 }, { itemName: "Chromebook 2", type: "computer", price: 399.99 }, { itemName: "Programming 101", type: "book", price: 15.00 } ]console.log(_.maxBy(items, function(o) { return o.price; })); <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
-
回首忆惘然
你可以试试这个。function getMostExp(items) { let mostExp = 0; let name; items.forEach(item => { if(item.price > mostExp) { mostExp = item.price; name = item.itemName; } }); return name;}更新:更新答案以返回itemName而不是price。
-
波斯汪
按价格对数组进行排序,然后弹出最后一项并获取 itemName:items.sort((a,b) => a.price - b.price).pop().itemNamelet items = [ { itemName: "Effective Programming Habits", type: "book", price: 13.99 }, { itemName: "Chromebook 2", type: "computer", price: 399.99 }, { itemName: "Programming 101", type: "book", price: 15.00 } ]console.log([...items].sort((a,b) => a.price - b.price).pop().itemName)