代码片段
在 Duaer 里把数组拆成多条数据
Duaer 节点按条处理数据。订单里的商品列表、接口返回的数组,要先用 Split Out 拆成一条一项,后面的节点才会逐项处理。
用 Split Out 拆数组
- 在数组所在节点后面接 Split Out。
- Fields To Split Out 填数组字段名,例如 line_items;嵌套的写 data.items。
- Include 选要不要带上原来的其它字段:No Other Fields、All Other Fields,或 Selected Other Fields 只带几个,例如订单号。
- 点执行此步骤。数组有几项,就输出几条。
字段是 a,b,c 这样的文字时,先用 Edit Fields 把它变成数组:{{ $json.tags.split(",") }},类型选 Array,再拆。
用 Code 拆,并带上上级字段
要同时改字段名或带上上级信息时,用 Code(Run Once for All Items):
return $input.all().flatMap((item) =>
item.json.line_items.map((line) => ({
json: { order: item.json.name, ...line },
})),
);反过来:多条合成一个数组
要把多条数据合回一个数组或一段文字,用 Aggregate,或在 Summarize 里选 Append、Concatenate。
常见问题
Duaer 拆完数组后,怎么知道每一项属于哪个订单?
在 Duaer Split Out 的 Include 里选 Selected Other Fields,带上订单号;或用本页的 Code 写法把上级字段并进去。
Duaer 里拆完再合回去用哪个节点?
用 Duaer 的 Aggregate 节点,或 Summarize 的 Append、Concatenate。
同组
节点
在 Duaer 里用 Split Out 拆开列表
在 Duaer 里,Split Out 把条目里的列表拆成多条。必填 Fields To Split Out;Include 默认是 No Other Fields。
节点在 Duaer 里用 Aggregate 把条目收成一组
在 Duaer 里,Aggregate 把多条输入收成更少的输出。可以只收某几个字段,也可以把整批收成一个列表。
数据理解 Duaer 的数据结构
在 Duaer 里,弄清节点之间如何传数据,是搭数字组织的基础。本页说明数据格式,以及数据如何在节点间流动。
代码片段在 Duaer 里分组求和、计数(类似数据透视表)
在 Duaer 里用 Summarize 节点按地区、客户或分类分组,算合计、个数、平均值,不用写代码。