4 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊
你可以減少方法。檢查價(jià)格并用于.
訪問最大項(xiàng)目名稱。
來自 MDN:該
reduce()
方法對數(shù)組的每個(gè)元素執(zhí)行一個(gè)縮減程序函數(shù)(您提供),從而產(chǎn)生單個(gè)輸出值。
?
被稱為三元運(yùn)算符if
(它是and的縮寫形式else
)
有關(guān)此處reduce
工作原理的更多信息
現(xiàn)場演示:
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 2
console.log(maxItem) //Full object

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以使用 Lodash 庫,集成起來非常簡單快捷。Lodash "maxBy" 可以從數(shù)組中找到最大值。https://lodash.com/docs/4.17.15#maxBy
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
}
]
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>

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
你可以試試這個(gè)。
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。

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
按價(jià)格對數(shù)組進(jìn)行排序,然后彈出最后一項(xiàng)并獲取 itemName:
items.sort((a,b) => a.price - b.price).pop().itemName
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
}
]
console.log([...items].sort((a,b) => a.price - b.price).pop().itemName)
添加回答
舉報(bào)