【发布时间】:2021-09-06 00:50:47
【问题描述】:
我有一个文档库对象。在该对象中,每个文档都有一个 DCN 号和一个版本号。有多个 DCN 条目,我需要过滤掉每个 DCN 的最高版本号。我不确定如何在 JavaScript 中执行此操作。数组示例如下:
[
{
'DCN': '1234567',
'Version': 1.0
},
{
'DCN': '1234567',
'Version': 2.0
},
{
'DCN': '1234567',
'Version': 3.0
},
{
'DCN': '1234567',
'Version': 4.0
},
{
'DCN': '1234568',
'Version': 1.0
},
{
'DCN': '1234568',
'Version': 2.0
},
{
'DCN': '1234568',
'Version': 3.0
},
{
'DCN': '1234568',
'Version': 4.0
},
{
'DCN': '1234569',
'Version': 3.0
},
{
'DCN': '1234569',
'Version': 4.0
}
]
预期结果如下所示:
[
{
'DCN': '1234567',
'Version': 4.0
},
{
'DCN': '1234568',
'Version': 4.0
},
{
'DCN': '1234569',
'Version': 4.0
}
]
【问题讨论】:
-
版本号是否存储为浮点数?我想没有打算支持语义版本命名法,例如
major.minor.patch(需要存储为字符串而不是数字/浮点数)。 -
如果你有
4.0.1和4.1.0,我想你会想要4.1.0(因为它是更高的版本号)? -
它们是字符串,但我打算将它们转换为数字/浮点数
-
@Terry 是的,这是正确的。 4.1.0 将是最高版本
-
实际上,即使
major.minor版本转换为浮点数也是有问题的,想想"4.1"与"4.10"的版本 - 当您将两者都转换为浮点数时会发生什么
标签: javascript filtering