1

我正在使用两个小部件来解决这个问题:设置变量小部件和基于小部件的拆分。我想遍历我传入的数组(flow.data.arr):

我正在尝试设置变量:

key: increment
value: {% if flow.variables.increment %}{{flow.variables.increment | plus:1}}{% else %}0{% endif %}

并基于以下拆分:

condition: flow.data.arr[increment].nestedValue isNotBlank

我已经用数字进行了测试,如果我插入一个 0 或 1,那么它就可以完美地工作。我的假设是它将incrementvar 评估为字符串,因为当我在 if 逻辑中包含空格时,它会将这些空格添加到字符串中。

所以如果我的假设是正确的,我怎样才能让 Twilio 评估increment为一个数字?如果我的假设是错误的,我该如何实现这种“for循环”风格的迭代?

4

1 回答 1

1

尽管 Twilio 应该将变量存储为数字,但 Twilio 会将其存储为字符串。在使用数字索引数组之前,您必须进行显式转换。

在拆分的基础上你可以使用:

condition:
{% assign i=flow.variables.increment | plus:0 %}
{{flow.data.arr[i].nestedValue}} isNotBlank

达到预期的效果。添加 0 将在使用时将其转换为一个数字。

于 2020-07-22T19:01:26.053 回答