array_iff()
动态数组上元素对应的 iif 函数。
array_iff()
和array_iif()
函数是等效的
语法
array_iff(
condition_array, when_true, when_false)
详细了解语法约定。
参数
客户 | 类型 | 必需 | 描述 |
---|---|---|---|
condition_array | dynamic |
✔️ | 布尔值或数值的数组。 |
when_true | 动态或标量 | ✔️ | 值或基元值的数组。 这将是 condition_array 为 true 时的结果。 |
when_false | 动态或标量 | ✔️ | 值或基元值的数组。 这将是 condition_array 为 false 时的结果。 |
注意
- 返回值的长度将与输入 condition_array 相同。
- 如果数值条件值不等于 0,则视为
true
。 - 在返回值的相应索引中,非数值和非布尔条件值将为 null。
- 如果 when_true 或 when_false 短于 condition_array,则缺失值将视为 null。
返回
根据条件数组的相应值,返回从 when_true 或 when_false 数组值中获取的值组成的动态数组。
示例
print condition=dynamic([true,false,true]), if_true=dynamic([1,2,3]), if_false=dynamic([4,5,6])
| extend res= array_iff(condition, if_true, if_false)
输出
condition | if_true | if_false | res |
---|---|---|---|
[true, false, true] | [1, 2, 3] | [4, 5, 6] | [1, 5, 3] |
数值条件值
print condition=dynamic([1,0,50]), if_true="yes", if_false="no"
| extend res= array_iff(condition, if_true, if_false)
输出
condition | if_true | if_false | res |
---|---|---|---|
[1, 0, 50] | 是 | 否 | [yes, no, yes] |
非数字和非布尔条件值
print condition=dynamic(["some string value", datetime("01-01-2022"), null]), if_true=1, if_false=0
| extend res= array_iff(condition, if_true, if_false)
输出
condition | if_true | if_false | res |
---|---|---|---|
[true, false, true] | 1 | 0 | [null, null, null] |
数组长度不匹配
print condition=dynamic([true,true,true]), if_true=dynamic([1,2]), if_false=dynamic([3,4])
| extend res= array_iff(condition, if_true, if_false)
输出
condition | if_true | if_false | res |
---|---|---|---|
[true, true, true] | [1, 2] | [3, 4] | [1, 2, null] |