как рассчитать максимальное значение данных - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь получить максимальное значение из всех свойств «значение». Следующий код дает максимальное значение как 8, где максимальное значение в данных равно 60.

Как получить правильное максимальное значение для следующих данных?

data = [
        { type: "type1", value: "60" },
        { type: "type2", value: "38" },
        { type: "type3", value: "4" },
        { type: "type4", value: "5" },
        { type: "type5", value: "8" },
        { type: "type6", value: "2" },
      ];
      console.log(
        d3.max(data, (d) => {
          return d.value;
        })
      );// expecting 60 but getting 8
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>

Ответы [ 2 ]

1 голос
/ 19 июня 2020

Сначала вам нужно превратить эти значения в реальные числа. Или, если они вам нужны в строке, вы можете использовать parseInt(), чтобы превратить их в числа.

data = [
  { type: "type1", value: 60 },
  { type: "type2", value: 38 },
  { type: "type3", value: 4 },
  { type: "type4", value: 5 },
  { type: "type5", value: 8 },
  { type: "type6", value: 2 },
];

let max = 0;

data.forEach(obj => {
  if (obj.value > max) max = obj.value
});
0 голосов
/ 19 июня 2020

Достаточно одного простого лайнера. Math.max(...data.map(({value}) => +value))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...