分割 (split)
将消息分割成多个消息序列。
输入
包含数组、对象或字符串的消息。
输出
分割后的多个消息。
详细说明
分割节点可以将数组、对象或字符串分割成多个单独的消息。
每个输出消息都包含原始消息的一部分和序列信息。
分割类型
- 数组: 将数组中的每个元素作为单独消息发送
- 对象: 将对象的每个键值对作为单独消息发送
- 字符串: 按指定分隔符分割字符串
配置选项
- 分割使用: 指定分割方式
- 数组长度
- 对象键数量
- 字符串长度
- 指定字符
- 输出: 每个部分的输出格式
输出消息格式
每个分割后的消息都包含:
javascript
msg = {
payload: "分割后的数据",
parts: {
id: "abc123", // 序列ID
index: 0, // 当前索引
count: 5, // 总数量
type: "array", // 分割类型
ch: "", // 分隔符(字符串分割时)
key: "property" // 键名(对象分割时)
}
}
示例
分割数组:
javascript
// 输入
msg = {
payload: ["苹果", "香蕉", "橙子"]
}
// 输出(3个消息)
// 消息1
msg = {
payload: "苹果",
parts: {id: "abc123", index: 0, count: 3, type: "array"}
}
// 消息2
msg = {
payload: "香蕉",
parts: {id: "abc123", index: 1, count: 3, type: "array"}
}
// 消息3
msg = {
payload: "橙子",
parts: {id: "abc123", index: 2, count: 3, type: "array"}
}
分割对象:
javascript
// 输入
msg = {
payload: {
temperature: 25.6,
humidity: 68.2,
pressure: 1013.25
}
}
// 输出(3个消息)
// 消息1
msg = {
payload: 25.6,
parts: {
id: "def456",
index: 0,
count: 3,
type: "object",
key: "temperature"
}
}
// 消息2
msg = {
payload: 68.2,
parts: {
id: "def456",
index: 1,
count: 3,
type: "object",
key: "humidity"
}
}
分割字符串:
javascript
// 配置:分隔符 = ","
// 输入
msg = {
payload: "红色,绿色,蓝色,黄色"
}
// 输出(4个消息)
// 消息1
msg = {
payload: "红色",
parts: {
id: "ghi789",
index: 0,
count: 4,
type: "string",
ch: ","
}
}
按长度分割:
javascript
// 配置:每2个字符分割
// 输入
msg = {
payload: "Hello World"
}
// 输出
// "He", "ll", "o ", "Wo", "rl", "d"
应用场景
- 批量数据处理
- 数组元素逐个处理
- 字符串解析
- 对象属性遍历
注意事项
- 分割后的消息保持原始顺序
- parts属性用于后续合并
- 大数据量分割时注意性能
- 配合join节点使用可重新合并