GroupBy 与 LinqTS(打字稿)

GroupBy with LinqTS(Typescript)

我正在使用 LINQTS 通过对一些数据进行分组来获取一些信息。

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

对于上面的代码,我得到的响应在红色区域中突出显示

如果我将代码更改为以下

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

然后我得到以下结果

我想在响应中同时计算键和值。任何人都可以建议我在上面的代码中做错了什么,我在数组中得到空值。

x => { x.key, x.value.count(); } 中的大括号在箭头函数中使用时不会创建对象,因为它们用于创建应以 return 结尾的语句序列(如果没有 return 提供,该值将为 null,如您的情况)。您可以做的是将对象包裹在括号中。参见 MDN documentation

代码应该是这样的:

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