Typescript/Lodash group by -- 尝试将数组键的值及其数量分组
Typescript/Lodash group by -- Trying to group values of a key of an array with their quantity
代码:
this.countSmth = _(data).groupBy('DeliveryStatus').values().map(
(group) => ({ ...group[0], qty: group.length })
), console.log(this.countSmth);
我一直在尝试 this stackblitz and all works well, giving me the desired result. However in my project the end result looks like this(link).
我用作源的 HTTP 响应如下所示:
{
{
"BookingId": "VALUE",
"OrderNumber": "VALUE",
"ArrivalTime": "VALUE",
"DepartureTime": "VALUE",
"Duration": "VALUE",
"DeliveryStatus": "Accepted"
}
]
在我的 Angular 项目中,我使用 yarn 添加了 'lodash' 和 @types/lodash。我决定在相同的环境中测试相同的 stackblitz 文本,但它似乎不起作用,这意味着我在那里写错了。
编辑:我创建了一个 angular 项目并导入了相同的 lodash。我在这里用类型化数组替换了我得到的数据对象:
在这个 stackblitz 中 _
背后的库是什么?在 Lodash 中,你需要在最后一个 .value() 来从链中解包值。
经过 8 小时的故障排除和其他线程的一些帮助 + 同事的一些帮助,我最终得到了这个功能:
let countUniqueValues = (data, key) => {
return _(data).groupBy(key).values().map(
(group) => ({ key: group[0][`${key}`], count: group.length })
).value()
}
现在,当我更新我的商店时,我可以调用此函数来创建我想要的任何 kpi,方法是将来自操作的数据和我要计算其值的键传递给它。
我什至根本不用碰这个功能。
代码:
this.countSmth = _(data).groupBy('DeliveryStatus').values().map(
(group) => ({ ...group[0], qty: group.length })
), console.log(this.countSmth);
我一直在尝试 this stackblitz and all works well, giving me the desired result. However in my project the end result looks like this(link).
我用作源的 HTTP 响应如下所示:
{
{
"BookingId": "VALUE",
"OrderNumber": "VALUE",
"ArrivalTime": "VALUE",
"DepartureTime": "VALUE",
"Duration": "VALUE",
"DeliveryStatus": "Accepted"
}
]
在我的 Angular 项目中,我使用 yarn 添加了 'lodash' 和 @types/lodash。我决定在相同的环境中测试相同的 stackblitz 文本,但它似乎不起作用,这意味着我在那里写错了。
编辑:我创建了一个 angular 项目并导入了相同的 lodash。我在这里用类型化数组替换了我得到的数据对象:
在这个 stackblitz 中 _
背后的库是什么?在 Lodash 中,你需要在最后一个 .value() 来从链中解包值。
经过 8 小时的故障排除和其他线程的一些帮助 + 同事的一些帮助,我最终得到了这个功能:
let countUniqueValues = (data, key) => {
return _(data).groupBy(key).values().map(
(group) => ({ key: group[0][`${key}`], count: group.length })
).value()
}
现在,当我更新我的商店时,我可以调用此函数来创建我想要的任何 kpi,方法是将来自操作的数据和我要计算其值的键传递给它。
我什至根本不用碰这个功能。