Вернуть значение _.maxBy для нескольких объектов - PullRequest
0 голосов
/ 04 июня 2018

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

highest = Math.ceil(_.maxBy(stats, 'success' ).success );

Это возвращает значение успеха.Но я хочу, чтобы наибольшее значение возвращалось от того, что больше от объектов «успех» и «неудача».(более одного объекта)

Примерно так:

highest = Math.ceil(_.maxBy((stats, 'success' ).success ) && ((stats, 'unsuccessful' ).unsuccessful));

const stats = [{ success: 52 }, { unsuccessful: 65 }];

В этом сценарии я ожидаю, что максимальное значение вернет "65"

1 Ответ

0 голосов
/ 05 июня 2018

Вот один из способов сделать это в lodash, используя lodash#map и lodash#max, чтобы получить максимальное значение для значений success и unsuccessful.

const result = _(stats)
  .map(v => _.max([v.success, v.unsuccessful]))
  .max();

const stats = [{ success: 52 }, { unsuccessful: 65 }, { success: 0 }];

const result = _(stats)
  .map(v => _.max([v.success, v.unsuccessful]))
  .max();
  
console.log(result);
.as-console-wrapper{min-height:100%;top:0}
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>
...