【问题标题】:GroupBy with LinqTS(Typescript)GroupBy 与 LinqTS(打字稿)
【发布时间】:2020-07-25 04:04:40
【问题描述】:

我正在使用 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();

然后我得到以下结果

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

【问题讨论】:

    标签: typescript linq group-by linq.js


    【解决方案1】:

    x => { x.key, x.value.count(); } 中的花括号在箭头函数中使用时不会创建对象,因为它们用于创建应以 return 结尾的语句序列(如果未提供 return,则值将是空的,就像你的情况一样)。您可以做的是将对象包裹在括号中。见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();
    

    【讨论】:

    • 谢谢,解决了。也感谢您清除概念。上帝保佑你,保持安全。
    • @ManojSethi 没问题!谢谢,你也要注意安全
    猜你喜欢
    • 2021-01-02
    • 2020-02-02
    • 2016-09-16
    • 1970-01-01
    • 2017-12-24
    • 2019-04-25
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多