You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修正DataWeave的generatePoints函数以生成预期对象数组?

解决DataWeave生成1-24对应points对象数组的问题

修正后的函数代码

fun generatePoints() = (1 to 24) map {
    currentyear: 2023,
    points: $
}

问题原因说明

  1. 原代码的核心错误:你写的[1 to 24]是把一个范围对象包装成了单元素数组,map只会遍历这一个元素,所以只生成了一个对象。
  2. 正确的遍历方式:直接使用1 to 24(加括号是为了提升可读性,不加也能正常运行),这个表达式本身就是1到24的数字序列,map会逐个遍历序列里的每个数字。
  3. points字段的简化:原代码里的$[$$]完全多余,$在map中就代表当前遍历到的数字(1、2……24),直接赋值给points即可。

输出结果

修正后运行函数,会生成包含24个对象的数组,格式完全符合你的需求:

[
  {
    "currentyear": 2023,
    "points": 1
  },
  {
    "currentyear": 2023,
    "points": 2
  },
  ...
  {
    "currentyear": 2023,
    "points": 24
  }
]

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:40:58