const spots = [
{ name: '故宫', time: 1, score: 7 },
{ name: '颐和园', time: 2, score: 8 },
{ name: '长城', time: 3, score: 9 },
{ name: '天坛', time: 1, score: 6 }
];
function getMaxValueSpots(maxTime, spots) {
const valueSpots = spots.map(spot => ({
name: spot.name,
value: spot.score / spot.time
}));
valueSpots.sort((a, b) => b.value - a.value);
let totalTime = 0;
const maxValueSpots = [];
for (let i = 0; i < valueSpots.length; i++) {
const spot = spots.find(item => item.name === valueSpots[i].name);
if (totalTime + spot.time <= maxTime) {
totalTime += spot.time;
maxValueSpots.push(spot.name);
} else {
break;
}
}
return maxValueSpots;
}
const maxTime = 4;
const result = getMaxValueSpots(maxTime, spots);
console.log(result);