If element has null score, result is not delivered

This commit is contained in:
Timo John 2020-06-18 17:00:32 +02:00
parent bb14c9955d
commit c528e71ad0

View File

@ -85,11 +85,13 @@ module.exports = function (dbConn) {
reg.scores.push(finalScoreObj)
});
reg.price_tendency_relative = getAverageFromTrivago(travelPeriods, reg)
// CALCULATE AVERAGE SCORE
reg.score = calculateAverage(reg.scores)
})
return _.orderBy(regions, ({score}) => score || 0, 'desc') //.filter(el => !_.isNaN(el.score))
return _.orderBy(regions, ({score}) => score || 0, 'desc')
.filter(el => !_.some(el.scores, score => _.isNaN(score.score) || _.isNull(score.score) || _.isUndefined(score.score)))//.filter(el => !_.isNaN(el.score))
}
function calculateAverage(scores) {
@ -246,6 +248,37 @@ module.exports = function (dbConn) {
return finScore
}
function getAverageFromTrivago(travelPeriods, region) {
console.log('getAverageFromTrivago for', region.name)
//end
const singleScores = travelPeriods.map(period => {
let res = {
//region_id: x.region_id,
value: region.avg_price_relative[period.month - 1],
days: period.days
}
return res
})
let averagedScore = {
value: 0,
days: 0
}
singleScores.forEach(el => {
if (el.value !== null) {
averagedScore.value += (el.value * el.days)
averagedScore.days += (el.days)
} else {
console.log('skip averaging')
console.log(el)
}
})
averagedScore.value = _.round(averagedScore.value / averagedScore.days, 1)
return averagedScore.value
}
//end
}