function beanBackpack(beans, w) {
beans = beans.sort((a, b) => b.price - a.price)
let result = 0
let available_w = w
let path = []
console.log(beans)
for (let item of beans) {
if (available_w >= item.gross) {
result += item.gross * item.price
path.push(`${item.name}-${item.gross}`)
available_w -= item.gross
console.log(result)
} else {
result += available_w * item.price;
path.push(`${item.name}-${available_w}`)
break;
}
}
console.log(path)
console.log(result)
return result
}
const beans = [
{ name: '黄豆', price: 1, gross: 100 },
{ name: '绿豆', price: 3, gross: 30 },
{ name: '红豆', price: 2, gross: 60 },
{ name: '黑豆', price: 4, gross: 20 },
{ name: '青豆', price: 1.5, gross: 50 },
]
beanBackpack(beans, 100)