Нахождение максимального свойства по значению - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть список объектов, каждый со своими свойствами.Я пытаюсь найти конкретный объект в этом списке с этим .find, хотя я не могу понять, как найти максимальное значение одного из его свойств при определенном значении.

let x = this.state.pricing_adjustments_view.filter((e) => {
    return e.location_id === this.state.selectedLocation,
    e.car_model_id === this.state.selectedCar,
    moment(e.calendar_day).isSame(this.state.from, "day"),
    _.max(e.minimum_duration) <= duration
  })

Здесь этоe.minimum_duration.Я хочу найти наибольшее значение, но оно находится под «длительностью», я пробую его с «lodash», здесь представленным «_».Я открыт для других возможностей.

this.state.pricing_adjustments_view - это массив объектов, и вы можете сказать, что для каждого объекта ключ "UNIQUE" - это его "location_id", "car_model_id", "calendar_day"и" minimal_duration ".

Таким образом, есть несколько одинаковых объектов, если мы рассмотрим только" location_id "," car_model_id "," calendar_day ", и тогда они имеют разные значения "imum_duration".Мне нужно получить тот, который имеет наивысшее значение «imum_duration ».

1 Ответ

0 голосов
/ 19 января 2019

Хорошо,

Вы говорите, что вас интересует minimum_duration.Чтобы найти самое большое (или самое маленькое ..), достаточно просто заказать pricing_adjustments_view на minimum_duration и принять его самое высокое значение.

Таким образом, вы можете в основном выполнять следующие действия, используя lodash lib.

// sort dataa..
let sorted = _.sortBy(this.state.pricing_adjustments_view, 'minimum_duration');

// take last in list!
let has_highest_minimum_duration = sorted[sorted.length-1];
...