mulesoft - 嵌套数组列表上的 dataweave 过滤器和 maxBy
问题描述
我有一份学生名单和他们各自科目的分数。我想过滤特定成绩的所有学生,然后找到在特定对象中获得最高分的学生。
[
{
"name": "User 01",
"grade": 1,
"schoolName": "school01",
"marks": {
"english": 10,
"math": 30,
"social": 30
}
},
{
"name": "User 02",
"grade": 1,
"schoolName": "school02",
"marks": {
"english": 10,
"math": 20,
"social": 30
}
}
]
我能够独立执行这两项操作。有人可以帮我找到在特定年级数学得分最高的学生对象吗?
解决方案
我在下面使用它来实现它。
%dw 2.0
output application/json
var grade = 1
var topic = "math"
---
payload filter (
((item, index) -> item.grade == grade)
) maxBy ($.marks.math as String {format: "000000"})
推荐阅读
- python - 比较 BeautifulSoup 结果
- django - 在html中列出文件夹中的文件
- apache-kafka - 如何通过定义的 5 秒时间窗口在 Kafka Streams 中实现窗口化?
- python - 如何返回在另一个字符串中找到的字符串的索引?
- java - 用链表实现归并排序
- jmeter - 如何理解事务控制器响应时间?
- python - Django rest 框架:使用 sqlalchemy 模型而不是 django 模型
- c++ - MD5动画和游戏循环
- java - Restapi DELETE 方法不起作用并发送状态 200
- opengl - 这个着色器有条件对性能不利吗?可以优化吗?