Я манипулировал своим массивом, присваивая значение соответствующей строке. Теперь я хочу умножить счет этой строки на значение, которое я присвоил.
Вот мой вывод массива:
0: {gameScore: "R", reportDate: "2018-05-09", value: 2}
1: {gameScore: "M", reportDate: "2018-01-09", value: 1}
2: {gameScore: "M+", reportDate: "2018-02-09", value: 1.5}
3: {gameScore: "M+", reportDate: "2018-01-09", value: 1.5}
4: {gameScore: "M+", reportDate: "2018-02-09", value: 1.5}
Я присвоил gameScore значение:
const SCORES = {
'R': 2,
'M': 1,
'M+': 1.5,
}
Я хочу получить общее количество подходящих объектов, например, «M +» = 3, затем умножьте это на начальное значение, которое я установил 'M+': 1.5,
, так что "M+"
в конечном итоге будет '4.5'
var calculation = _(observations)
.filter(observation => {
return (
moment(observation.reportDate).year() == moment().subtract('years', 1).year() && moment(observation.reportDate).month() > moment().subtract('years', 1).month()) ||
(moment(observation.reportDate).year() == moment().year() && moment(observation.reportDate).month() < moment().month());
})
.omitBy(x => x.gameScore === "NULL")
.map(observation => ({ ...observation,
value: SCORES[observation.gameScore]
}))
.value();
Я предполагаю, что мне нужно что-то сделать со значением: SCORES[observation.gameScore]
, чтобы получить количество объектов и выполнить умножение, прежде чем оно достигнет этой точки?
Вот скрипка с другими уже используемыми вычислениями https://jsfiddle.net/xdtk2gn6/
Использование lodash & ES6 - спасибо заранее:)