【发布时间】:2021-01-27 14:36:19
【问题描述】:
我有这样的对象数组(假设是大数组)
[
{
userID: '25634076cc1fccb0978ciug9f8f8b59cf7e6e0b0615d00de4df7e233bdb0d399',
consultationTime: 4200 // in seconds
},
{
userID: '48e69555d778f9b9a3a1d553b9c3b8f7dd6a3394ac82df1433b60a69c055d23d',
consultationTime: 198741 // in seconds
},
{
userID: 'a75d2f0a583b29ddba803af2a02ae1ee3b7b2c112fff8f41707aa9bb9aac9c90',
consultationTime: 10 // in seconds
}
];
要求: 我需要将咨询时间转换为分钟。然后,如果consultationTime 少于20 分钟,那么我需要将带有代码“11”的consultationTime 推送到billingDetails。如果consultationTime大于20分钟,则需要拆分剩余时间并将时间推送到编码“22”为对象数组。剩余时间属性将通过与总时间相减来计算。
示例:对于 4200 秒(70 分钟),前 20 分钟转到代码 11,其余 50 分钟转到代码 22,因为对象数组包含第一个对象包含 20,接下来是 20,接下来是输出中的 10。
预期输出:
[
{
userID: '25634076cc1fccb0978ciug9f8f8b59cf7e6e0b0615d00de4df7e233bdb0d399',
billingDetails: [{
code: 11,
totalTime: 20 // first 20 minutes
remainingTime: 0 // 20 mins - totalTime
},
{
code: 22,
totalTime: 20
remainingTime: 0
},
{
code: 22,
totalTime: 20
remainingTime: 0
},
{
code: 22,
totalTime: 10
remainingTime: 10 (20 minutes - 10 minutes)
}
]
},
{... similarly for other users},
];
我很难得出相同的逻辑。因此,我们将不胜感激。
【问题讨论】:
-
如果您指定反对投票的原因会更好。
-
不是我的,但我怀疑因为你根本没有表现出解决这个问题的努力 - 本质上 SO 不是代码编写服务。
-
@Jamiec 实际上,如果有人能指出逻辑然后我可以尝试,但坚持如何开始。
-
如何将秒转换为分钟 - 我相信你可以做到这一点。关于将一个数组映射到另一个数组(提示!),您还尝试/研究过什么?
-
@Jamiec 是的,将秒转换为分钟我可以做到。我被卡住的地方不知道如何将时间分成 20 分钟。
标签: javascript node.js arrays ecmascript-6