Maison > Questions et réponses > le corps du texte
Les données renvoyées peuvent s'étendre sur plusieurs mois. Comment calculer le prix le plus bas pour chaque mois ?
Voici la structure des données :
Merci~
世界只因有你2017-05-19 10:40:25
var data = [
{ date: "2017-04-20", price: 1170 },
{ date: "2017-04-21", price: 1450 },
{ date: "2017-04-22", price: 960 },
{ date: "2017-04-25", price: 2300 },
{ date: "2017-05-21", price: 1203 },
{ date: "2017-05-22", price: 1206 },
{ date: "2017-03-20", price: 658 }
];
var monthMap = {};
data.forEach(function (n) {
var month = n.date.substring(0, 7);
if (!monthMap[month] || monthMap[month] > n.price) {
monthMap[month] = n.price;
}
});
// {2017-04: 960, 2017-05: 1203, 2017-03: 658}
console.log(monthMap);
阿神2017-05-19 10:40:25
var arr = [
{
date: '2017-04-20',
price: 1170
},
{
date: '2017-04-21',
price: 1450
},
{
date: '2017-04-22',
price: 940
}
];
var newArr = arr.sort(function (a, b) {
return a.price > b.price;
});
console.log(newArr[0].price); // -> 940
Triez d'abord le tableau par prix de petit à grand,
Obtenez ensuite le premier contenu du tableau qui est celui avec le prix le plus bas.