Javascript lodash groupby使用字符串键而不是数字

Javascript lodash groupby使用字符串键而不是数字,javascript,lodash,Javascript,Lodash,使用lodash中的groupby时,每个组的键采用字符串而不是其原始类型 例如: let p1 = { age: 50 }; let p2 = { age: 130 }; let p3 = { age: 25 }; let groups = _.groupBy([p1, p2, p3], (p: any) => p.age); let sortedKeys = _.keys(groups).sort(); for (let key of sortedKeys) { con

使用lodash中的
groupby
时,每个组的键采用字符串而不是其原始类型

例如:

let p1 = { age: 50 };
let p2 = { age: 130 };
let p3 = { age: 25 };
let groups = _.groupBy([p1, p2, p3], (p: any) => p.age);
let sortedKeys = _.keys(groups).sort();
for (let key of sortedKeys) {      
  console.log(key);
}
输出:

130串

25串

50串

我知道我可以通过修改sort()来解决这个问题


但是
groupby
键的原始类型(在本例中为
number
)不应该保留吗?

因为对象键是字符串,您希望发生什么?您正在尝试按排序组织对象键吗?对象键顺序不保证,也永远不会保证。请尝试按数字分组,然后按该分组排序。不希望分组进行排序,但我希望groupby的类型是保留的,因为您已经提到lodash的函数不会保留该类型。如果你想写你自己的函数,你可以用整数作为键。现在还没有人知道如何把键保留为int?我也有同样的问题。不喜欢分类。但是我的输出需要将键作为整数而不是字符串。
_.keys(groups).sort((k1:any, k2:any) => { return k1-k2; });