GroupBy с LinqTS (Typescript) - PullRequest
       13

GroupBy с LinqTS (Typescript)

1 голос
/ 12 апреля 2020

Я использую LINQTS, чтобы получить некоторую информацию от группировки данных.

 const registered_users_data = listData
  .groupBy(
    b => moment(b.created_at).format('YYYY/MM')
  )
  .select(x => {
    x.key, x.value.count();
  })
  .toArray();

Для приведенного выше кода я получаю ответ ниже, выделенный красной областью

enter image description here

Если я изменю код на ниже

listData
  .groupBy(b => moment(b.created_at).format('YYYY/MM'))
  .select(x => x.value.count())
  .toArray();

затем я получаю результат ниже

enter image description here

Я хочу, чтобы в ответе учитывался и ключ, и значение. Кто-нибудь может подсказать, что я делаю неправильно в приведенном выше коде, где я получаю нулевое значение в массиве.

1 Ответ

1 голос
/ 12 апреля 2020

В фигурных скобках в x => { x.key, x.value.count(); } не создается объект при использовании в функции стрелки, поскольку они используются для создания последовательности операторов, которая должна заканчиваться return (если не указано return, значение будет нулевым, как в вашем случае). Что вы можете сделать, это обернуть объект в парантезы. См. Документацию MDN

. Вот как должен выглядеть код:

const registered_users_data = listData
  .groupBy(
    b => moment(b.created_at).format('YYYY/MM')
  )
  .select(x => ({
    key: x.key,
    value: x.value.count();
  }))
  .toArray();
...