目标描述数组筛选¶
类型 ID:utility.target_description_array_filter。
从一组目标描述中按类型筛选。例如只保留 window:,或同时移除 screen: 和 process:。节点只处理传入数组,不查询窗口、进程或安卓实例是否仍存在。
设置与端口¶
在节点上的模式下拉框选择“通过”或“移除”,并在类型输入框填写一个或多个目标类型,例如 window、android。填写类型名,不填写完整目标描述,也不带冒号。任意一项类型匹配就算命中;大小写和类型名两侧空格不影响匹配。
| 方向 | 索引 | 端口 | 类型 |
|---|---|---|---|
| 输入 | 0 | 目标描述数组 | array |
| 输出 | 0 | 筛选结果 | array |
这是纯数据节点,没有执行端口。通过模式保留命中项,移除模式丢弃命中项;保留成员的原文、顺序和重复项均不改变。
空类型项会被忽略。没有填写任何有效类型时,通过模式得到空数组,移除模式保留全部输入。非字符串、没有冒号的字符串不会命中类型;它们在移除模式下仍会保留。节点不会解析或修正冒号后面的条件。
示例¶
输入 ["window:handle=100", "screen:primary", "window:handle=100"],通过类型填写 window,得到 ["window:handle=100", "window:handle=100"]。示例句柄仅用于说明筛选,实际运行应传入查找节点返回的窗口目标。
筛选完成后,再把结果交给实际需要这些目标的节点。要检查目标是否有效,应使用相应的查找或执行结果,不能把“通过筛选”等同于“目标存在”。