我想根据条件将数组的值相加。
{ "name": "alfons", "value": 100, "condValue": "D90" },
{ "name": "alfons", "value": 300, "condValue": "D10" },
{ "name": "alfons", "value": 200, "condValue": "D90" },
{ "name": "max", "value": 600, "condValue": "D90" },
{ "name": "max", "value":100, "condValue": "D90" }
对于此示例数组,如果条件值和对象名称匹配,我想添加值。 在这个例子中,我的理想输出是:
{ "name": "alfons", "value": 300, "condValue": "D90" },
{ "name": "alfons", "value": 300, "condValue": "D10" },
{ "name": "max", "value": 700, "condValue": "D90" }
到目前为止我所做的:我正在 for every 循环中过滤各个名称的有效负载数组(我获取的实际数据是一个包含大约 700 个元素的数组)。我再次过滤此数组以查找另一个循环中的条件值(嵌套在第一个循环中)。
现在我的问题是如何将这些值相加并组成一个新数组,这样它就不会在我面前爆炸,因为我在这里循环了三遍。
我的想法是每次循环完成时编写一个 json 对象并将其附加到数组变量中,但我最终会再次得到大量重复项。
“执行 JavaScript 代码”不幸的是不是一个选项。
是的,使用高级数据操作连接器中的聚合操作。
https://learn.microsoft.com/en-us/connectors/advanceddataoperatio/
https://www.statesolutions.com.au/aggregate/
https://www.statesolutions.com.au/pricing/
注意:在下面的内容中,
Data
变量是您提供的数据(作为数组)。
[
{
"name": "alfons",
"condValue": "D10",
"value": 300
},
{
"name": "alfons",
"condValue": "D90",
"value": 300
},
{
"name": "max",
"condValue": "D90",
"value": 700
}
]