【发布时间】:2022-01-01 21:55:27
【问题描述】:
我有以下类型的动态 JSON 数组,现在我想创建一个基于通道的数量,比如一个静态值,它依赖于来自和到该字段的 JSON,
现在,
如果通道在 1 到 399 之间,则首先是 399 X 2
如果通道在 1 到 999 之间,则首先是 (999-399) => (399 X 2) + (600 X 1.5)
如果通道大于 1000,则首先 ((1000-399) X 2) + ((1000-(999-399)) X 1.5) + 1(pending) X 1
[{
"id": 1,
"name": "tier1",
"from": 1,
"to": 399,
"amount": 2,
"channel_type": 1,
"status": 1
}, {
"id": 2,
"name": "tier2",
"from": 400,
"to": 999,
"amount": 1.5,
"channel_type": 1,
"status": 1
}, {
"id": 3,
"name": "tier3",
"from": 0,
"to": 1000,
"amount": 1,
"channel_type": 1,
"status": 1
}]
我想做这个动态计算,以后还要加一个对象或者去掉一个对象,根据那个数组来统计数量。
请建议我这个问题的最小解决方案,因为我是通过硬代码处理的,请为我提供一个简单而干净的解决方案。
对不起,我的解释和英语很差。提前感谢您的宝贵时间。
【问题讨论】:
-
在该数组中,哪个字段定义该通道为 300?是从/到等吗?
-
我假设它的含义是 300,它在 1 到 399 之间等等。正如你的计算所暗示的那样。
-
但是从1到399,这个应该有什么通道?
-
对于1到399的第一个对象数组,如果大于399则先按399计算再大于399
-
但是我就是不明白你的问题。